91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決cpu跑滿問題?

發布時間:2020-05-23 15:51:34 來源:億速云 閱讀:692 作者:鴿子 欄目:建站服務器

如何解決cpu跑滿問題?

解決問題

當時首先想到的是中病毒了,先不管那么多,第一步是找到那些耗cpu的進程殺死。使用top命令,查看耗cpu的進程有哪些。一看就明白了,都是bzip2搞得鬼。

如何解決cpu跑滿問題?

殺進程的過程發現一個問題,就是這些進程殺死了,過一會又出現了。這種現象,我知道肯定要找到他們的父進程,擒賊先擒王。

# ps -lA | grep bzip2
0 R     0  1965  1964 44  80   0 -  3435 -      ?        00:01:43 bzip2
0 S     0  1981  1980 33  80   0 -  3435 pipe_w ?        00:00:56 bzip2
0 R     0  1997  1996 30  80   0 -  3435 -      ?        00:00:31 bzip2
0 R     0  2013  2012 27  80   0 -  3435 -      ?        00:00:07 bzip2
0 R     0  2024  2023 15  80   0 -  3435 -      ?        00:00:00 bzip2

但是發現他們的ppid不是同一個,這就讓我很疑惑了。我打算用進程樹看看

pstree -up

如何解決cpu跑滿問題?

這時候,我就知道了,原來是自己的定時腳本有問題。那么我需要做以下幾件事:

  1. 關閉crond服務

  2. crontab -e 將weekly.sh去掉

  3. 殺掉那些耗cpu的進程

# 關閉
[root@iz8vb626ci0aehwsivxaydz ~]# kill 1622
[root@iz8vb626ci0aehwsivxaydz ~]# systemctl status crond
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Tue 2019-11-12 10:44:32 CST; 10s ago
 Main PID: 1622 (code=exited, status=0/SUCCESS)
 
# 修改crontab -e
 
# 殺掉耗cpu進程,下面的命令執行了好幾遍,才將所有耗cpu進程全部殺掉了
ps -lA | grep bzip2 | awk '{print $4}' | xargs -n 10 kill -9

問題原因與思考

剛開始,我以為是自己的shell腳本有問題,出現死循環導致問題出現。但是查看腳本,發現沒有問題,沒有死循環的情況出現。一時間,百思不得姐。

#!/bin/bash
# 每周備份腳本
 
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
export
 
backdir=/backup/weekly # 備份目錄
 
[ -z "$backdir" ] || mkdir -p $backdir
 
dirs=(/etc /home /root /usr /var/spool/cron /var/spool/at)  # 需要備份的目錄
 
for dir in ${dirs[@]}
do
    if [ ! -d $dir ];then
        continue
    fi
 
    cd $backdir
    tar -jcpf $(basename $dir)_$(date +%Y%m%d).tar.bz2 $dir
done
 
 
# 刪除mtime大于30天的文件
find $backdir -mtime +30 -name *.tar.bz2 -exec rm -f {} \;

過了很長時間,終于找到了原因所在,原來是自己的定時任務寫法有問題

* 3 * * 1  /root/bin/weekly.sh 1>/dev/null 2>&1

我原本的想法是每周1凌晨3點執行一次備份腳本,但是這樣寫的結果是每周一凌晨3點的每分鐘都會執行該腳本一次。正確的寫法應該如下:

# 每周一凌晨三點零一分執行該腳本
1 3 * * 1  /root/bin/weekly.sh 1>/dev/null 2>&1

以上就是記一次服務器CPU跑滿事件的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

cpu
AI

越西县| 临清市| 鄂托克前旗| 富蕴县| 沙湾县| 九江县| 正宁县| 兰西县| 德江县| 东丽区| 郓城县| 红安县| 金堂县| 九龙县| 南木林县| 耿马| 镇宁| 白银市| 茶陵县| 台前县| 乐山市| 兴业县| 临澧县| 乐清市| 呼图壁县| 阿克陶县| 郁南县| 洪洞县| 弥勒县| 绥化市| 汶川县| 双鸭山市| 临洮县| 西林县| 霸州市| 若尔盖县| 晋江市| 乐至县| 泸水县| 大城县| 乌拉特中旗|