在实际工程应用中,经常会遇到设备在现场才会出问题,并且出错的概率很低(几天甚至一个月),这种情况下,不能连接调试串口获取打印信息,日志系统的信息可能也不完全,这个时候需要添加监控脚本来监控系统。
如下是一个简单的实用监控脚本,分别对内核日志,内存,线程状态进行监控
#! /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