Linux下關(guān)于/tmp目錄的清理規(guī)則和OOM機(jī)制

1.Linux的OOM機(jī)制

在linux中如果某個進(jìn)程占用了很大的內(nèi)存,會導(dǎo)致進(jìn)程被kill掉。
如果發(fā)現(xiàn)進(jìn)程被莫名的kill掉,可以去查看messages日志cat /var/log/messages
Jul 27 13:29:54 kernel: Out of memory: Kill process 17982 (java) score 77 or sacrifice child發(fā)現(xiàn)的確是oom了。
解決辦法:
1,限制java進(jìn)程的max heap,從而降低內(nèi)存使用
2,發(fā)現(xiàn)系統(tǒng)沒有開啟swap,給系統(tǒng)加swap空間(內(nèi)存數(shù)*2)

2.linux的/tmp清理機(jī)制

在Linux系統(tǒng)中/tmp文件夾里是存放臨時文件的,在一定的時間內(nèi)會被清理。默認(rèn)是30天
/etc/cron.daily/tmpwatch這個文件的作用就是刪除/tmp目錄下非規(guī)則且沒有訪問的文件文件夾.
文件內(nèi)容如下:

[hadoop@Hadoop001 hadoop]$ cat /etc/cron.daily/tmpwatch
#! /bin/sh
flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \
        -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \
        -X '/tmp/hsperfdata_*' 10d /tmp
/usr/sbin/tmpwatch "$flags" 30d /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
    if [ -d "$d" ]; then
        /usr/sbin/tmpwatch "$flags" -f 30d "$d"
    fi
done

第一行相當(dāng)于一個標(biāo)記(參數(shù));
第二行就是針對/tmp目錄里面排除的目錄
第三行,這是對這個/tmp目錄的清理,下面的是針對其他目錄的清理。
在紅色部分附近/usr/sbin/tmpwatch "$flags" 30d /var/tmp這一行
紅色的表示30天的意思,這個就決定了30天清理/tmp下不訪問的文件。
你想一天一清理的話,就把這個30d改成1d。
但有個問題需要注意,如果你設(shè)置更短的時間來清理的話,比如說是30分鐘、10秒等等,
但你會發(fā)現(xiàn)重新電腦,這個并無效他不清理/tmp文件夾里面的內(nèi)容,
因為tmpwatch的上層目錄是/etc/cron.daily/,而這個目錄是一天執(zhí)行一次計劃
任務(wù),所以說,你設(shè)置了比一天更短的時間,他就不起作用了。
所以,在Centos6中,系統(tǒng)自動清理/tmp文件夾的默認(rèn)時限是30天

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容