我有一台需要监视的远程机器。它运行的是 Ubuntu Studio 22.04 (KDE Plasma)。几周前它崩溃了,journalctl 显示了崩溃前几分钟发生的“错误”。所以我编写了一个遵循journalctl的简单脚本,如果出现“Bug”一词,它会发送一封警告电子邮件。我大约 10 天前设置了该脚本运行。昨天,我远程连接到机器并检查htop,发现该脚本使用了90%以上的CPU。我杀了它,CPU 使用率恢复正常。这是脚本:
#!/bin/bash
#####################
# THIS SCRIPT LAUNCHED AT STARTUP, CHECKS journalctl for string "Bug"
######################
while true; do
nohup journalctl --follow | grep -i -q "bug" && mutt -s "ALERT - AirchainPC may be in TROUBLE" -- myemail@gmail.com < bug_issued_by_journalctl.txt &>/dev/null &
done
Run Code Online (Sandbox Code Playgroud)
有什么可以解释 CPU 使用率高的原因吗?顺便说一句,我认为我不需要那个“nohup”。
乌班图22.04。
我按照/var/log/syslog命令执行tail -f。这是通过 ssh 连接。它将跟踪系统日志的输出几天,然后停止更新。它就坐在那里。如果我Ctrl+C终止 tail 命令并重新发出它,它会获取最新结果,这些结果晚于tail -f. IOW,它停止跟随。如何让它继续跟踪 syslog,而不必终止命令并重新发出它?谢谢你!
我有计算机为我们的社区广播电台处理各种功能,包括处理广播节目音频。它远程运行并每天发送健康电子邮件,以便我关注其状态。我发现空闲内存在几天内下降了很多,并且无法解释它的去向。
该报告包含“free”的输出以及使用内存的前 20 个进程:
ps -eo comm:15,pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -n 20
Run Code Online (Sandbox Code Playgroud)
两天前:
Memory stats as of 10/17/2023
total used free shared buff/cache available
Mem: 12Gi 3.1Gi 7.4Gi 160Mi 2.1Gi 9.0Gi
Swap: 0B 0B 0B
Total: 12Gi 3.1Gi 7.4Gi
MEM stats
COMMAND PID PPID CMD %MEM %CPU
ST_FM 2214 1 /home/kpov_tech/Desktop/Ste 4.6 24.1
ST_Stream 2256 1 /home/kpov_tech/Desktop/Ste 4.5 21.6
plasmashell 1759 1689 /usr/bin/plasmashell 2.0 0.2
kwin_x11 1721 1689 /usr/bin/kwin_x11 1.8 10.7
fluidsynth 1538 1528 /usr/bin/fluidsynth -is /us 1.8 0.0
kded5 …Run Code Online (Sandbox Code Playgroud)