linux出現killed的原因是什么

linux中,出現killed的原因是系統資源不足或內存不足;當系統資源不足時,Linux內核也可以決定終止一個或多個進程,內存不足時會在系統的物理內存耗盡時觸發killed,可以利用“dmesg | tail -7”命令來查看killed日志。

linux出現killed的原因是什么

本教程操作環境:linux7.3系統、Dell G3電腦。

linux出現killed的原因是什么

觸發Killed常見原因

當系統資源不足時,Linux 內核也可以決定終止一個或多個進程。 一個非常常見的例子是內存不足 (OOM) killer,會在系統的物理內存耗盡時觸發。

當內存不足時,內核會將相關信息記錄到內核日志緩沖區中,該緩沖區可通過 /dev/kmsg 獲得。

有幾個工具/腳本/命令 可以更輕松地從該虛擬設備讀取數據,其中最常見的是 dmesg 和 journalctl。

查看Killed日志

使用sudo dmesg | tail -7命令(任意目錄下,不需要進入log目錄,這應該是最簡單的一種)

linux出現killed的原因是什么

可以看到:

oom-kill之后,就是解釋那個被killed的程序的pid和uid

Out of memory: Killed process 1138439 (python3) total-vm:8117956kB, anon-rss:5649844kB,內存不夠

total_vm:總共使用的虛擬內存 Virtual memory use (in 4 kB pages)

8117956/1024(得到MB)/1024(得到GB)=7.741GB

rss:常駐內存使用Resident memory use (in 4 kB pages)

5649844/1024/1024=5.388GB

擴展知識

使用下面的這幾行命令

journalctl?--list-boots?| awk?‘{?print?$1?}’?| xargs?-I{}?journalctl?--utc?--no-pager?-b?{}?-kqg?‘killed?process’?-o?verbose?--output-fields=MESSAGE

就可以直接得到,最關鍵的信息

hs@hs:~$?journalctl?--list-boots?|? >?????awk?'{?print?$1?}'?|? >?????xargs?-I{}?journalctl?--utc?--no-pager?-b?{}?-kqg?'killed?process'?-o?verbose?--output-fields=MESSAGE Mon?2022-02-14?08:48:43.684987?UTC?[s=ed0a1ecfd36e41bda458e5e111c46e95;i=d4573;b=7bc379f894944dcd81ae32ff54afa009;m=456b0ad36d2;t=5d7f67bdee47b;x=5bfe01f8e2ca9b2c] ????MESSAGE=Out?of?memory:?Killed?process?1125888?(python3)?total-vm:8530488kB,?anon-rss:5653404kB,?file-rss:0kB,?shmem-rss:0kB,?UID:1000?pgtables:12552kB?oom_score_adj:0 Mon?2022-02-14?09:29:43.854158?UTC?[s=ed0a1ecfd36e41bda458e5e111c46e95;i=d4785;b=7bc379f894944dcd81ae32ff54afa009;m=45743506aa5;t=5d7f70e82184e;x=9b55cfb2e7c081e7] ????MESSAGE=Out?of?memory:?Killed?process?1138439?(python3)?total-vm:8117956kB,?anon-rss:5649844kB,?file-rss:0kB,?shmem-rss:0kB,?UID:1000?pgtables:12544kB?oom_score_adj:0

網上更常見的似乎是:

journalctl?-xb?|?egrep?-i?'killed?process’ hs@hs:~$?journalctl?-xb?|?egrep?-i?'killed?process' Feb?14?08:48:43?hs?kernel:?Out?of?memory:?Killed?process?1125888?(python3)?total-vm:8530488kB,?anon-rss:5653404kB,?file-rss:0kB,?shmem-rss:0kB,?UID:1000?pgtables:12552kB?oom_score_adj:0 Feb?14?09:29:43?hs?kernel:?Out?of?memory:?Killed?process?1138439?(python3)?total-vm:8117956kB,?anon-rss:5649844kB,?file-rss:0kB,?shmem-rss:0kB,?UID:1000?pgtables:12544kB?oom_score_adj:0 Feb?15?03:42:08?hs?sudo[1151639]:???????hs?:?TTY=pts/0?;?PWD=/home/hs?;?USER=root?;?COMMAND=/usr/bin/egrep?-i?-r?killed?process?/var/log

以及

sudo?dmesg?|?egrep?-i?-B100?'killed?process' #?但是這個會輸出非常多的信息。。。

其中-B100,表示 ‘killed process’之前的100行內容

推薦學習:Linux視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享