技术沉淀分享

Thinking will not overcome fear but action will.

linux kernel kauditd

一次文件被"神秘进程"删除的历程

申明:该事件发生于2018年 10.30号开始有同事反馈扩容流程进程端口扫描步骤没有输出,且执行成功(实际有些进程并没有启动成功)。导致用户以为扩容成功,从而影响正常上线。为什么进程端口扫描步骤没有输出信息呢? 首先就去分析工具执行的日志,查看日志发现是扩容机器上的部分管理工具文件不见了!导致无法获取扩容机器上包的进程状态信息,从而前台无法展示。另外,还有一个问题就是进程端口扫描工具不健...

gcc编译优化对vfork的影响

vfork

最近在看linux系统编程的书,书名 No.Starch.Press.The.Linux.Programming.Interface.A.Linux.and.UNIX.System.Programming.Handbook,推荐给对linux系统编程感兴趣的同学(这本书也是身边的同事推荐的) 看到进程创建章节中关于vfork的系统调用。 其中书中关于vfork的解释是:子进程修改了变量...

mysql

一次mysql insert探究经历

一次mysql insert探究经历 用户反馈使用A系统安装包,安装成功了却没有实例信息,是怎么回事呢? 根据经验,遇到安装成功或升级成功没有实例的问题,一般有以下几个原因: 1、 实例上报堵塞 2、 包安装路径配置错误 3、 用户机器连不上A系统管理机器(实例上报通过反向扫描机器上所有A系统包汇总后通过HTTP上报至A系统机器) 那就从这几个方面查起吧。 实例上报拥堵了...

linux kernel

说一说linux系统调用

最近看了关于容器时间的文章,里面涉及到了系统调用gettimeofday,突然问了自己什么是系统调用?系统调用这个名字经常会出现在我们的耳边,也经常会听到别人说“***系统调用返回错误”。那到底什么是系统调用?系统调用到底是怎么调用的呢?接下来就详细阐述下系统调用的过程,如有不足,请指正。(注:本文的涉及到glibc是2.28. 9000版本,linux内核版本4.20.0) #inclu...

linux kernel

linux内核之OOM原理剖析

OOM(out of memory)在linux是比较常见一个问题。可能每位开发同学都遇到过。在linux下,有一种内存泄露情况是用户态(业务进程)或内核态(内核协议栈)占用内存不断增加,从而导致物理内存不足,系统根据一定规则(算法),然后拉起oom-killer,将候选进程kill掉,从而释放出内存以保证系统能正常运行。在出现这种情况的时候,可以通过查看/var/log/messages,...