linux系统 top 命令输出快照存储
公司一台服务器,有一个特殊隐患:就是会在1分钟内,内存飙升到100% CPU100% 磁盘巨量读写。
阿里云官方提供的信息不足以判断问题所在,所以搞了一个脚本,10秒为周期定时输出top信息,判断系统进程占用程序。
输入内容为top命令行输出
top - 14:38:46 up 1 day, 16:57, 2 users, load average: 0.01, 0.03, 0.08
Tasks: 113 total, 1 running, 112 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.2 us, 3.2 sy, 0.0 ni, 93.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 7733296 total, 2541420 free, 2842248 used, 2349628 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 4626000 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9596 root 20 0 4712616 1.0g 22992 S 0.0 13.8 1:35.26 java
9279 mysql 20 0 1623356 470492 10748 S 0.0 6.1 3:44.13 mysqld
9085 polkitd 20 0 1645372 274784 10532 S 0.0 3.6 0:07.24 mysqld
7843 33 20 0 236900 98048 4860 S 0.0 1.3 0:03.46 apache2
7821 33 20 0 232988 94132 4912 S 0.0 1.2 0:04.36 apache2
7796 33 20 0 230088 91280 4856 S 0.0 1.2 0:03.50 apache2
7955 33 20 0 223580 86788 4784 S 0.0 1.1 0:02.55 apache2
7840 33 20 0 223324 84680 4892 S 0.0 1.1 0:04.42 apache2
7909 33 20 0 143492 78136 4188 S 0.0 1.0 0:03.11 apache2
7927 33 20 0 141756 76368 4080 S 0.0 1.0 0:02.58 apache2
1685 33 20 0 212216 74256 3624 S 0.0 1.0 0:42.54 apache2
7914 33 20 0 211600 72240 4820 S 0.0 0.9 0:03.14 apache2
8558 33 20 0 133392 67792 4068 S 0.0 0.9 0:02.65 apache2
1206 root 20 0 882484 28336 7564 S 0.0 0.4 2:22.23 dockerd-cu+
363 root 20 0 152940 24712 24332 S 0.0 0.3 0:03.28 systemd-jo+
1230 root 10 -10 152508 23556 5804 S 0.0 0.3 49:38.73 AliYunDun
588 root 20 0 1055532 22124 5056 S 0.0 0.3 5:32.65 exe
888 root 20 0 586424 17504 248 S 0.0 0.2 0:12.96 tuned
1129 redis 20 0 253652 10112 648 S 0.0 0.1 1:47.15 redis-serv+
1251 root 20 0 459544 9356 880 S 0.0 0.1 1:24.21 docker-con+
1131 root 20 0 805672 8048 3300 S 0.0 0.1 2:21.05 aliyun-ser+
1505 root 20 0 76736 7356 132 S 0.0 0.1 0:06.39 apache2
530 polkitd 20 0 612232 6992 460 S 0.0 0.1 0:00.41 polkitd
做法:
新建一个data目录,放统计数据
运行一个 stat.sh脚本,脚本内容为:
while ((1))
do
#echo "NN"
d=`date +%Y%m%d-%H%M%S`
top -b -o +%MEM -n 1 > ./data/${d}.txt
sleep 10
find data -type f -mmin +5 -exec rm -rf {} \;
done
核心命令
top -b -o +%MEM -n 1
目的:输出top内容
find data -type f -mmin +5 -exec rm -rf {} \;
目的:删除过期的文件,只保留3分钟
总结
期望系统如果不幸被重启,希望看到机器死之前3分钟的top数据,判断系统占用的情况。
主机差评君首发于zhuji188.com,转发请标明来源https://zhuji188.com/968.html
THE END
二维码
共有 0 条评论