通过smem 定时检测系统内存占用情况

编写定时任务脚本

bash 复制代码
cat >> /usr/local/bin/smem.sh <<-"EOF"

if [[ ! -d /var/log/smem ]];then
    mkdir -p /var/log/smem
fi
smem -tk >> /var/log/smem/smem.log
EOF

chmod 755 /usr/local/bin/smem.sh

配置定时任务

bash 复制代码
echo "" >> /etc/crontab
echo "* * * * * root flock -xn '/tmp/smem.lock' -c '/usr/local/bin/smem.sh' > /dev/null 2>&1" >> /etc/crontab
systemctl reload crond

配置日志轮转

bash 复制代码
cat >> /etc/logrotate.d/smem <<-"EOF"
/var/log/smem/smem.log {
    daily
    rotate 30
    compress
    delaycompress
    missingok
    notifempty
    create 644 root root
}
EOF

检查定时任务是否生效

bash 复制代码
# 查看 /var/log/cron
tail -1000 /var/log/cron |grep smem

# 这将显示过去 2 分钟内的 crond 日志条目
journalctl -u crond --since "2 minutes ago" | grep smem
bash 复制代码
[root@localhost lxm]# tail -1000 /var/log/cron |grep smem
Dec 20 10:13:01 localhost CROND[3378740]: (root) CMD (flock -xn '/tmp/smem.lock' -c '/usr/local/bin/smem.sh' > /dev/null 2>&1)
Dec 20 10:13:01 localhost CROND[3378739]: (root) CMDEND (flock -xn '/tmp/smem.lock' -c '/usr/local/bin/smem.sh' > /dev/null 2>&1)
[root@localhost lxm]# 
[root@localhost lxm]# journalctl -u crond --since "2 minutes ago" | grep smem
Dec 20 10:13:01 localhost.localdomain CROND[3378740]: (root) CMD (flock -xn '/tmp/smem.lock' -c '/usr/local/bin/smem.sh' > /dev/null 2>&1)
Dec 20 10:14:01 localhost.localdomain CROND[3388194]: (root) CMD (flock -xn '/tmp/smem.lock' -c '/usr/local/bin/smem.sh' > /dev/null 2>&1)
相关推荐
武文斌777 小时前
复习总结最终版:单片机
linux·单片机·嵌入式硬件·学习
驱动探索者7 小时前
贝尔实验室发展史:20世纪科技圣殿的辉煌与沉浮
linux
何朴尧8 小时前
centos/cuos如何开启软件源
linux·运维·centos
YouEmbedded8 小时前
解码Linux文件IO之标准IO
linux·文件io·系统io
撬动未来的支点9 小时前
【Linux内核】Linux内核裁剪完全指南:从理论到实战的系统优化
linux
csdn_Hzx9 小时前
Linux添加一个系统服务
linux·运维·服务器
洛克大航海9 小时前
Ubuntu安装Hbase
大数据·linux·数据库·ubuntu·hbase
赖small强9 小时前
Linux内存管理-缓存系统中的Major和Minor详解
linux·缓存·交换缓存机制·major fault·minor fault
重生之我在20年代敲代码10 小时前
【Linux】初始线程
linux·运维·服务器
问道飞鱼10 小时前
【Linux知识】Linux磁盘开机挂载
linux·运维·网络·磁盘·自动挂载