运行程序时,Linux出现Killed,然后程序就被终止了
当系统资源不足时,Linux 内核也可以决定终止一个或多个进程。 一个非常常见的例子是内存不足 (OOM) killer,会在系统的物理内存耗尽时触发。
[root@ecs-1773-3 fes-stress-test]# sudo dmesg | tail -7
[6229228.008634] [98387] 0 98387 18062 182 39 0 0 sftp-server
[6229228.012426] [99129] 0 99129 39329 351 79 0 0 sshd
[6229228.015908] [99132] 0 99132 18062 204 38 0 0 sftp-server
[6229228.019624] [101710] 0 101710 2759959 382547 4202 0 0 java
[6229228.023244] [106758] 0 106758 807 1 4 0 0 zabbix_server
[6229228.027147] Out of memory: Kill process 101710 (java) score 187 or sacrifice child
[6229228.031308] Killed process 101710 (java), UID 0, total-vm:11039836kB, anon-rss:1530188kB, file-rss:0kB, shmem-rss:0kB
分析:
- Out of memory: Kill process 101710 (java) score 187 or sacrifice child,内存不够
- total_vm:总共使用的虚拟内存 Virtual memory use (in 4 kB pages) 11039836/1024(得到MB)/1024(得到GB)=10.56GB
- rss:常驻内存使用Resident memory use (in 4 kB pages),1530188/1024/1024=1.45GB
