Linux查看程序被Killed的原因及分析
Linux查看程序被Killed原因
1.查看信息,輸出最近被killed的進(jìn)程
查看被Killed簡(jiǎn)短信息列表 egrep -i -r 'killed process' /var/log
[root@ecs-bcb3 ~]# egrep -i -r 'killed process' /var/log /var/log/messages:Jul 12 15:00:24 ecs-bcb3 kernel: Killed process 26399 (python3), UID 1002, total-vm:27455044kB, anon-rss:24933916kB, file-rss:712kB, shmem-rss:0kB /var/log/messages:Jul 12 15:00:24 ecs-bcb3 kernel: Killed process 29412 (python3), UID 1002, total-vm:27455044kB, anon-rss:24934124kB, file-rss:780kB, shmem-rss:0kB /var/log/messages:Jul 12 15:18:39 ecs-bcb3 kernel: Killed process 25017 (chromedriver), UID 1002, total-vm:218888kB, anon-rss:2312kB, file-rss:184kB, shmem-rss:0kB /var/log/messages:Jul 12 15:18:39 ecs-bcb3 kernel: Killed process 30252 (chromedriver), UID 1002, total-vm:201472kB, anon-rss:2032kB, file-rss:104kB, shmem-rss:0kB
查看被Killed詳細(xì)信息列表 dmesg | egrep -i -B100 'killed process'
[root@ecs-bcb3 ~]# dmesg | egrep -i -B100 'killed process' [19095552.852409] [31573] 1002 31573 131893 2522 166 0 0 chrome [19095552.852585] [31597] 1002 31597 144656 4247 168 0 200 chrome [19095552.852756] [31599] 1002 31599 148317 2766 183 0 0 chrome [19095552.869403] [26287] 1004 26287 1975489 186919 547 0 0 java [19095552.869548] [27054] 999 27054 1154 23 8 0 0 sh [19095552.869700] [27058] 999 27058 1110 16 8 0 0 df [19095552.869842] Out of memory: Kill process 7429 (python3) score 357 or sacrifice child [19095552.869991] Killed process 7429 (python3), UID 1002, total-vm:26420076kB, anon-rss:23508276kB, file-rss:920kB, shmem-rss:0kB ...
查看被Killed簡(jiǎn)短信息列表 journalctl -xb | egrep -i 'killed process'
12月 21 15:33:18 ecs-kms kernel: Killed process 2580 (chrome), UID 0, total-vm:862648kB, anon-rss:53044kB, file-rss:156kB, shmem-rss:2692kB 12月 21 15:33:18 ecs-kms kernel: Killed process 3000 (chrome), UID 0, total-vm:862136kB, anon-rss:49508kB, file-rss:16kB, shmem-rss:2508kB 12月 21 15:33:18 ecs-kms kernel: Killed process 3165 (chrome), UID 0, total-vm:859320kB, anon-rss:48372kB, file-rss:112kB, shmem-rss:2492kB ...
2.設(shè)定kill優(yōu)先度
- 2.1 完全關(guān)掉oom
sysctl vm.overcommit_memory=2 echo “vm.overcommit_memory=2” >> /etc/sysctl.conf
- 2.2 出現(xiàn) Out Of Memory 之后重啟
sysctl vm.panic_on_oom=1 sysctl kernel.panic=X echo “vm.panic_on_oom=1” >> /etc/sysctl.conf echo “kernel.panic=X” >> /etc/sysctl.conf
- 2.3 優(yōu)先考慮kill這個(gè)進(jìn)程
sudo echo 10>/proc/[PID]/oom_adj
- 2.4 盡量不去kill這個(gè)進(jìn)程
sudo echo -15>/proc/[PID]/oom_adj
- 2.5 不會(huì)kill這個(gè)進(jìn)程
sudo echo -17>/proc/[PID]/oom_adj
備注:
- oom_adj的值在-16 到 +15之間,值越高被kill的優(yōu)先度越高。
- 當(dāng)該值為-17時(shí),系統(tǒng)將不會(huì)殺死指定pid的進(jìn)程,而-16~15則會(huì)使得進(jìn)程的 /proc/[pid]/oom_adj 值呈指數(shù)形式遞增,即它們被殺掉的可能性呈指數(shù)遞增。
- 針對(duì)init(進(jìn)程號(hào)為1)這個(gè)進(jìn)程,無(wú)論該值設(shè)為多少都不會(huì)被殺
3.若上述命令被拒絕訪問(wèn)
命令修改成以下方式
bash -c "echo '10' | tee /proc/[PID]/oom_adj" bash -c "echo '-15' | tee /proc/[PID]/oom_adj" bash -c "echo '-17' | tee /proc/[PID]/oom_adj"
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
ubuntu下kvm 命令行安裝64位ubuntu報(bào)"Couldn''t find hvm kernel for Ubu
這篇文章主要介紹了ubuntu下kvm 命令行安裝64位ubuntu報(bào)"Couldn't find hvm kernel for Ubuntu tree."的問(wèn)題分析的相關(guān)資料,需要的朋友可以參考下2016-11-11Apache?Linkis?中間件架構(gòu)及快速安裝步驟
作為計(jì)算中間件,Linkis 提供了強(qiáng)大的連通、復(fù)用、編排、擴(kuò)展和治理管控能力,通過(guò)計(jì)算中間件將應(yīng)用層和引擎層解耦,簡(jiǎn)化了復(fù)雜的網(wǎng)絡(luò)調(diào)用關(guān)系,本文給大家介紹Apache?Linkis?中間件架構(gòu)的相關(guān)知識(shí),感興趣的朋友一起看看吧2022-03-03error while loading shared libraries xx.so處理方法
一般我們?cè)贚inux下執(zhí)行某些外部程序的時(shí)候可能會(huì)提示找不到共享庫(kù)(error while loading shared libraries xx.so)的錯(cuò)誤2013-04-04linux 不改變目錄結(jié)構(gòu)移動(dòng) home 目錄到新分區(qū)的操作方法
這篇文章主要介紹了linux 不改變目錄結(jié)構(gòu)移動(dòng) home 目錄到新分區(qū)的操作方法,需要的朋友可以參考下2017-12-12CentOs下手動(dòng)升級(jí)node版本的方法
這篇文章主要介紹了CentOs下手動(dòng)升級(jí)node版本的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11Centos7.2 系統(tǒng)上yum安裝lamp環(huán)境
這篇文章主要介紹了centos7.2 系統(tǒng)上yum安裝lamp環(huán)境的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11