SUSE系統出現執行命令慢 卡死現象

2021-07-09 22:49:08 字數 2211 閱讀 1595

在執行命令時,出現命令列反應慢,等很長時間才列印命令結果,甚至出現卡死現象。

[場景一]  所有使用者執行命令慢

[可能原因]:

--------------------------------

1.  /var/目錄下小檔案過多,inode耗盡,導致定時任務程序大量掛死。

[檢查方法]:執行df -i 檢視inode占用情況; ps -efl 檢視程序。

執行df -i 命令發現/var占用100%, 進一步排查發現是/var/spool/postfix/maildrop目錄下存在大量小檔案導致的。 

[原因分析]:由於linux在執行cron時,cron執行產生的output和warning資訊,會以郵件形式傳送給cron所有者,如果伺服器關閉postfix服務,導致郵件傳送不成功,就會全部以小檔案存放在maildrop目錄下。 如果sendmail或postfix正常執行,則會在/var/mail目錄下也存放大量郵件 。

[解決方法]:1 . 檢查/var/是否滿,是否已經導致程序堆積。

執行下面命令檢查是否有大量程序存在:

ps -efl | grep cron

ps -elf | grep mail

ps -efl | grep post

ps -elf | grep send

使用如下命令kill掉這些程序

ps -elf | grep cron | grep -v grep | awk '' | xargs kill -9

ps -elf | grep sendmail | grep -v grep | awk '' | xargs kill -9

ps -elf | grep 

postdrop

| grep -v grep | awk '' | xargs kill -9

注意:在kill postdrop程序時,由於程序處於d狀態,需等待一會兒此程序才會退出。

2. 刪除檔案

cd /var/spool/postfix/maildrop

pwd  # 確保已經進入/var/spool/postfix/maildrop目錄

ls | xargs rm -n 10 -rf 

3.  修改mailto配置

使用vi 命令編輯檔案 /etc/crontab和/var/spool/cron/tabs目錄下的所有使用者的cron配置檔案(該目錄下是所有使用者 的定時任務,檔名就是使用者名稱)。

將mailto=root替換成mailto="",如果沒有mailto=root,在配置檔案的第一行增加mailto=""

4. 重啟定時任務

--------------------------------

2./etc/resolv.conf中存在異常網域名稱解析伺服器

[檢查方法]:cat /etc/resolv.conf | grep -v "#"

檢查nameserver配置是否為空

[解決方法]:如果不為空,可以將/etc/resolv.conf中的內容注釋後再次重試。

--------------------------------

3. 命令資源不足

[檢查方法]:執行top命令觀察cpu、內在的使用情況

[解決方法]:如果找到大量占用資源的程序,就執行kill -9 pid將其殺死;

如果資源耗盡無法解決,建議盡快觸發kdump重啟板子。

[場景二]  單個使用者執行命令慢

[可能原因]:1. 使用者家目錄下的.history檔案過大

[檢查方法]:cd到家目錄下,執行ls -al檢查.history檔案大小

[解決方法]:如果檔案過大,執行echo"" > .history

來清空檔案

也可以做個定時任務,定期清理下這個檔案。

[場景三]  使用者執行某個命令時慢

常見現象1:執行df 命令止住或在某個nfs掛載目錄下,執行ls卡死

可能原因:nfs client和nfs server之間網路斷連,導致在client端執行df命令掛死或訪問nfs掛載目錄時掛死。

解決方法:執行cat /proc/mounts檢查nfs的掛載點mount_point; 執行umount 

mount_point。

--------------------------------

常見現象2:/var/spool/postfix/maildrop目錄下有過多的小檔案 

解決方法 參考 

[場景一]  

執行系統命令

1 os.system cmd import os os.system date 2016年 06月 30日 星期四 19 26 21 cst2 os.popen cmd import os nowtime os.popen date print nowtime.read 2016年 06月 30日...

linux 某個資料夾執行命令完全卡死完美解決方法

某個資料夾執行命令完全卡死 ctrl z,ctrl c等都不能用 表現 1.在資料夾執行ls等命令卡死 2.在伺服器任何地方執行df h卡死 sudo fdisk l管用 3.cd 資料夾卡死 產生原因 該資料夾中有乙個服務掛載在該資料夾某一目錄下,因突然關機等異常情況導致該服務無限制等待,機器重啟...

lua執行系統命令

lua中,系統庫函式有 os functions os.clock,os.date,os.difftime,os.execute,os.exit,os.getenv,os.remove,os.rename,os.setlocale,os.time,os.tmpname os.execute可以執行d...