linux - 意映卿卿如晤翻譯 - 誰“殺了”我的過程,為什麼?




卿卿如晤算命 (8)

我的應用程序在Linux上作為後台進程運行。 它目前在終端窗口的命令行中啟動。

最近有一位用戶正在執行該應用程序一段時間,它神秘地死了。 文本:

殺害

在終端上。 這發生了兩次。 我問是否有人在不同的終端使用kill命令來終止進程? 沒有。

在什麼情況下,Linux會決定殺死我的進程? 我相信shell會顯示“Killed”,因為進程在收到kill(9)信號後死亡。 如果Linux發送kill信號,應該在某個系統日誌中有一條消息解釋為什麼它會被殺死?


讓我先解釋何時以及為何OOMKiller被調用?

假設你有512個RAM + 1GB交換存儲器。 因此理論上,您的CPU可以訪問總共1.5GB的虛擬內存。

現在,一段時間內,一切都在1.5GB的內存中運行正常。 但是所有突然(或逐漸)你的系統開始消耗越來越多的內存,並且它達到了使用的內存總量的95%左右。

現在說任何進程都從內核請求大量內存。 內核檢查可用內存並發現它無法為您的進程分配更多內存。 所以它會嘗試釋放一些內存調用/調用OOMKiller( http://linux-mm.org/OOM )。

OOMKiller有自己的算法來評分每個過程的等級。 通常哪個進程使用更多的內存成為被殺害的受害者。

我在哪裡可以找到OOMKiller的日誌?

通常在/ var / log目錄中。 可以是/var/log/kern.log或/ var / log / dmesg

希望這會幫助你。

一些典型的方案:

  1. 增加內存(不交換)
  2. 找到程序中的內存洩漏並修復它們
  3. 限制任何進程可以使用的內存(例如,可以使用JAVA_OPTS限制JVM內存)
  4. 查看日誌和谷歌:)

用於限制資源PAM模塊確實導致了您所描述的結果:我的進程神秘地死於控制台窗口上的文本Killed 。 沒有日誌輸出,既不在syslog也不在kern.log中 。 最top程序幫助我發現,在CPU使用一分鐘後,我的進程就被終止了。


嘗試:

dmesg -T| grep -E -i -B100 'killed process'

其中-B100表示殺死發生前的行數。

在Mac OS上省略-T


在lsf環境中(交互式或其他方式),如果應用程序超出隊列管理員超出某個預設閾值的內存使用率,或者將資源請求提交到隊列中,則進程將被終止,因此其他用戶不會成為潛在的受害者逃跑。 它並不總是在發送郵件時發送郵件,具體取決於郵件的設置。

在這種情況下,一個解決方案是找到一個擁有更多資源的隊列,或者在提交中定義更大的資源需求。

您可能還想要查看man ulimit

雖然我不記得ulimit導致Killed它已經有一段時間了,因為我需要它。


我們在客戶現場(Red Hat,我認為)在Linux下經常遇到問題,OOMKiller(內存不足的殺手)會殺死我們的主要應用程序(即服務器存在的原因)和數據庫進程。

在每種情況下,OOMKiller都只是簡單地決定這些流程使用了很多資源......機器甚至不會因缺乏資源而失敗。 應用程序和它的數據庫都沒有內存洩漏問題(或任何其他資源洩漏)。

我不是一個Linux專家,但我寧願收集它的算法來決定什麼時候殺什麼,殺什麼是複雜的。 另外,我被告知(我不能說這個的準確性),OOMKiller被燒入內核,你不能簡單地不運行它。


我最近遇到了這個問題。 最後,我發現我的進程在Opensuse zypper update自動調用後被殺死。 禁用zypper更新解決了我的問題。


用戶有能力殺死他自己的程序,使用kill或Control + C,但我得到的印像不是發生了什麼,而是用戶向你抱怨。

root有殺死程序的能力,但是如果有人在你的機器上有根目錄並且正在殺死你的東西,你就會遇到更大的問題。

如果您不是系統管理員,系統管理員可能會在CPU,內存,磁盤使用率以及超過它們的自動殺死進程中設置配額。

除了這些猜測之外,我不確定沒有關於該計劃的更多信息。


這是Linux 內存不足管理器(OOM) 。 你的過程是由於' '而被選中的 - 這是近期,居民規模(使用的記憶,而不是僅僅分配)和其他因素的組合。

sudo journalctl -xb

你會看到一條消息,如:

Jul 20 11:05:00 someapp kernel: Mem-Info:
Jul 20 11:05:00 someapp kernel: Node 0 DMA per-cpu:
Jul 20 11:05:00 someapp kernel: CPU    0: hi:    0, btch:   1 usd:   0
Jul 20 11:05:00 someapp kernel: Node 0 DMA32 per-cpu:
Jul 20 11:05:00 someapp kernel: CPU    0: hi:  186, btch:  31 usd:  30
Jul 20 11:05:00 someapp kernel: active_anon:206043 inactive_anon:6347 isolated_anon:0
                                    active_file:722 inactive_file:4126 isolated_file:0
                                    unevictable:0 dirty:5 writeback:0 unstable:0
                                    free:12202 slab_reclaimable:3849 slab_unreclaimable:14574
                                    mapped:792 shmem:12802 pagetables:1651 bounce:0
                                    free_cma:0
Jul 20 11:05:00 someapp kernel: Node 0 DMA free:4576kB min:708kB low:884kB high:1060kB active_anon:10012kB inactive_anon:488kB active_file:4kB inactive_file:4kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present
Jul 20 11:05:00 someapp kernel: lowmem_reserve[]: 0 968 968 968
Jul 20 11:05:00 someapp kernel: Node 0 DMA32 free:44232kB min:44344kB low:55428kB high:66516kB active_anon:814160kB inactive_anon:24900kB active_file:2884kB inactive_file:16500kB unevictable:0kB isolated(anon):0kB isolated
Jul 20 11:05:00 someapp kernel: lowmem_reserve[]: 0 0 0 0
Jul 20 11:05:00 someapp kernel: Node 0 DMA: 17*4kB (UEM) 22*8kB (UEM) 15*16kB (UEM) 12*32kB (UEM) 8*64kB (E) 9*128kB (UEM) 2*256kB (UE) 3*512kB (UM) 0*1024kB 0*2048kB 0*4096kB = 4580kB
Jul 20 11:05:00 someapp kernel: Node 0 DMA32: 216*4kB (UE) 601*8kB (UE) 448*16kB (UE) 311*32kB (UEM) 135*64kB (UEM) 74*128kB (UEM) 5*256kB (EM) 0*512kB 0*1024kB 1*2048kB (R) 0*4096kB = 44232kB
Jul 20 11:05:00 someapp kernel: Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
Jul 20 11:05:00 someapp kernel: 17656 total pagecache pages
Jul 20 11:05:00 someapp kernel: 0 pages in swap cache
Jul 20 11:05:00 someapp kernel: Swap cache stats: add 0, delete 0, find 0/0
Jul 20 11:05:00 someapp kernel: Free swap  = 0kB
Jul 20 11:05:00 someapp kernel: Total swap = 0kB
Jul 20 11:05:00 someapp kernel: 262141 pages RAM
Jul 20 11:05:00 someapp kernel: 7645 pages reserved
Jul 20 11:05:00 someapp kernel: 264073 pages shared
Jul 20 11:05:00 someapp kernel: 240240 pages non-shared
Jul 20 11:05:00 someapp kernel: [ pid ]   uid  tgid total_vm      rss nr_ptes swapents oom_score_adj name
Jul 20 11:05:00 someapp kernel: [  241]     0   241    13581     1610      26        0             0 systemd-journal
Jul 20 11:05:00 someapp kernel: [  246]     0   246    10494      133      22        0         -1000 systemd-udevd
Jul 20 11:05:00 someapp kernel: [  264]     0   264    29174      121      26        0         -1000 auditd
Jul 20 11:05:00 someapp kernel: [  342]     0   342    94449      466      67        0             0 NetworkManager
Jul 20 11:05:00 someapp kernel: [  346]     0   346   137495     3125      88        0             0 tuned
Jul 20 11:05:00 someapp kernel: [  348]     0   348    79595      726      60        0             0 rsyslogd
Jul 20 11:05:00 someapp kernel: [  353]    70   353     6986       72      19        0             0 avahi-daemon
Jul 20 11:05:00 someapp kernel: [  362]    70   362     6986       58      18        0             0 avahi-daemon
Jul 20 11:05:00 someapp kernel: [  378]     0   378     1621       25       8        0             0 iprinit
Jul 20 11:05:00 someapp kernel: [  380]     0   380     1621       26       9        0             0 iprupdate
Jul 20 11:05:00 someapp kernel: [  384]    81   384     6676      142      18        0          -900 dbus-daemon
Jul 20 11:05:00 someapp kernel: [  385]     0   385     8671       83      21        0             0 systemd-logind
Jul 20 11:05:00 someapp kernel: [  386]     0   386    31573      153      15        0             0 crond
Jul 20 11:05:00 someapp kernel: [  391]   999   391   128531     2440      48        0             0 polkitd
Jul 20 11:05:00 someapp kernel: [  400]     0   400     9781       23       8        0             0 iprdump
Jul 20 11:05:00 someapp kernel: [  419]     0   419    27501       32      10        0             0 agetty
Jul 20 11:05:00 someapp kernel: [  855]     0   855    22883      258      43        0             0 master
Jul 20 11:05:00 someapp kernel: [  862]    89   862    22926      254      44        0             0 qmgr
Jul 20 11:05:00 someapp kernel: [23631]     0 23631    20698      211      43        0         -1000 sshd
Jul 20 11:05:00 someapp kernel: [12884]     0 12884    81885     3754      80        0             0 firewalld
Jul 20 11:05:00 someapp kernel: [18130]     0 18130    33359      291      65        0             0 sshd
Jul 20 11:05:00 someapp kernel: [18132]  1000 18132    33791      748      64        0             0 sshd
Jul 20 11:05:00 someapp kernel: [18133]  1000 18133    28867      122      13        0             0 bash
Jul 20 11:05:00 someapp kernel: [18428]    99 18428   208627    42909     151        0             0 node
Jul 20 11:05:00 someapp kernel: [18486]    89 18486    22909      250      46        0             0 pickup
Jul 20 11:05:00 someapp kernel: [18515]  1000 18515   352905   141851     470        0             0 npm
Jul 20 11:05:00 someapp kernel: [18520]     0 18520    33359      291      66        0             0 sshd
Jul 20 11:05:00 someapp kernel: [18522]  1000 18522    33359      294      64        0             0 sshd
Jul 20 11:05:00 someapp kernel: [18523]  1000 18523    28866      115      12        0             0 bash
Jul 20 11:05:00 someapp kernel: Out of memory: Kill process 18515 (npm) score 559 or sacrifice child
Jul 20 11:05:00 someapp kernel: Killed process 18515 (npm) total-vm:1411620kB, anon-rss:567404kB, file-rss:0kB




signals