关闭、打开Linux内核dmesg中时间戳信息

今天在进行tcp连接数压力测试的时候,发现程序占用内存的问题特别的高。为了测试8G内存能够跑多少开发自己写的go程序的tcp链接数会引发OOM导致程序被直接杀死的问题。于是去阿里云后台找到跑go的程序的这台机器 查看内存等更多指标。里面的内存使用量很明显的反映了内情使用情况。

阿里云后台内存监控情况示例:

开启、关闭dmesg时间戳信息

关闭时间戳信息(Disable dmesg timestamp) 
echo N > /sys/module/printk/parameters/time

打开时间戳信息(Enable dmesg timestamp) 
echo Y > /sys/module/printk/parameters/time

注意:默认情况服务器上dmesg的时间戳信息应该是开启状态

但是如果机器是机房的不是云上的,那么可以采用dmesg命令查看,一旦内存跑满了,程序OOM退出以后,free -m就能看到正常的可用物理内存数量。并且dmesg中会显示OOM信息。如:

...
[158701.367446] [64871]     0 64871    38663        0      78      331             0 sshd
[158701.367448] [64873]     0 64873    28860        0      12      102             0 bash
[158701.367450] Out of memory: Kill process 7598 (exe) score 1 or sacrifice child
[158701.368277] Killed process 7598 (exe) total-vm:1316512kB, anon-rss:0kB, file-rss:0kB, shmem-rss:0kB

但是会发现直接输入dmesg命令是看不到具体的时间产生OOM。于是需要使用dmesg -T查看

[Mon Aug 26 12:25:06 2019] Out of memory: Kill process 64641 (pre_access-serv) score 105 or sacrifice child
[Mon Aug 26 12:25:06 2019] Killed process 64641 (pre_access-serv) total-vm:1901372kB, anon-rss:246204kB, file-rss:0kB, shmem-rss:0kB

 

 

 

版权声明:
作者:allenjol
链接:https://www.ayunw.cn/archives/581
来源:爱生活,爱运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>