在实际工程应用中,经常会遇到设备在现场才会出问题,并且出错的概率很低(几天甚至一个月),这种情况下,不能连接调试串口获取打印信息,日志系统的信息可能也不完全,这个时候需要添加监控脚本来监控系统。
如下是一个简单的实用监控脚本,分别对内核日志,内存,线程状态进行监控
#! /bin/sh
mkdir /root/sys_20230406/
dmesg -w | while read line; do echo "$line" | tee -a /root/sys_20230406/dmesg.log; sync; done &
while true
do
date >> /root/sys_20230406/slab.log
cat /proc/slabinfo >> /root/sys_20230406/slab.log
echo '' >> /root/sys_20230406/slab.log
date >> /root/sys_20230406/meninfo.log
cat /proc/meminfo >> /root/sys_20230406/meninfo.log
echo '' >> /root/sys_20230406/meninfo.log
date >> /root/sys_20230406/free.log
free -m >> /root/sys_20230406/free.log
echo '' >> /root/sys_20230406/free.log
date >> /root/sys_20230406/pstree.log
pstree -p 0 >> /root/sys_20230406/pstree.log
echo '' >> /root/sys_20230406/pstree.log
date >> /root/sys_20230406/top.log
top -b -n 1 >> /root/sys_20230406/top.log
echo '' >> /root/sys_20230406/top.log
sync
sleep 120
done

浙公网安备 33010602011771号