利用 nohup 日志进行 Debian 性能优化的实操流程
一 建立可观测性基础
nohup ./app.sh > app.log 2>&1 &。若需按天切分,可在命令中嵌入日期:> logs/app_$(date +%F).log 2>&1。tail -f app.log;大文件用 less 分页;检索错误用 grep -i "error\|exception" app.log;按时间窗口检索可用 grep "2025-12-18 10:.*timeout" app.log。logger -t myapp -p local6.info "startup" 或配置 rsyslog 将指定设施写入文件。二 从日志定位性能瓶颈
grep -ioE "error|exception|timeout|slow" app.log | sort | uniq -c | sort -nr | head。awk -F'[][]' '{print $2}' app.log | sort | uniq -c | sort -nr | head(需按实际时间格式调整分隔符与字段)。connection refused|timeout|retry|backoff),定位下游瓶颈或网络抖动。三 优化动作与落地
/var/log/myapp.log { size 100M; rotate 7; compress; missingok; notifempty; create 0640 app app; }。nice -n 10 nohup ./app.sh > app.log 2>&1 & 或 renice 10 -p <PID>。sudo cgcreate -g cpu,memory:/mygroup,随后将 PID 写入对应 tasks 文件。四 监控告警与闭环
df -h /var/log),并设置 logrotate 的压缩与保留策略,必要时增加监控告警。top/htop/vmstat 等工具,验证优化后 CPU、内存、I/O 是否回归预期区间,形成“日志发现—优化实施—指标验证”的闭环。五 最小可行落地清单
nohup ./app.sh > logs/app_$(date +%F).log 2>&1 &,并接入 logger 或 systemd 标准输出。sudo logrotate -f /etc/logrotate.d/myapp。