/var/log/messages
- 常规系统消息/var/log/syslog
- 系统日志/var/log/auth.log
- 认证相关日志/var/log/kern.log
- 内核日志/var/log/dmesg
- 启动时内核环缓冲区消息/var/log/nginx/
- Nginx日志(如果安装)/var/log/mysql/
- MySQL日志(如果安装)# 查看日志尾部
tail -f /var/log/syslog
# 查看特定时间段的日志
sed -n '/May 20 10:00:00/,/May 20 11:00:00/p' /var/log/syslog
# 统计错误出现次数
grep -i "error" /var/log/syslog | wc -l
# 按时间排序显示日志
ls -ltr /var/log/
# 查看全部日志
journalctl
# 查看特定服务的日志
journalctl -u nginx.service
# 查看最近100行并实时更新
journalctl -f -n 100
# 按优先级过滤
journalctl -p err
# 实时CPU使用率
top
htop
# 每个CPU核心的使用情况
mpstat -P ALL 1
# CPU负载
uptime
cat /proc/loadavg
free -h
vmstat 1
# 详细内存使用
cat /proc/meminfo
iostat -x 1
iotop
iftop
nload
netstat -tulnp
ss -tulnp
# 安装
apt install linux-tools-common linux-tools-generic
# 系统范围统计
perf stat -a sleep 5
# CPU火焰图生成
perf record -F 99 -a -g -- sleep 30
perf script | ./stackcollapse-perf.pl | ./flamegraph.pl > perf.svg
# 跟踪进程的系统调用
strace -p <PID>
# 统计系统调用
strace -c -p <PID>
taskset
或cgroups
绑定关键进程到特定CPU核心echo 10 > /proc/sys/vm/swappiness
hugepages
优化大内存应用# 查看当前调度器
cat /sys/block/sda/queue/scheduler
# 修改为deadline(对于SSD)
echo deadline > /sys/block/sda/queue/scheduler
# 增大TCP窗口大小
echo "net.ipv4.tcp_window_scaling = 1" >> /etc/sysctl.conf
echo "net.core.rmem_max = 16777216" >> /etc/sysctl.conf
echo "net.core.wmem_max = 16777216" >> /etc/sysctl.conf
sysctl -p
#!/bin/bash
# 监控CPU温度并告警
TEMP=$(cat /sys/class/thermal/thermal_zone0/temp)
if [ $TEMP -gt 70000 ]; then
echo "Warning: CPU temperature is high: $(($TEMP/1000))°C" | mail -s "CPU Temp Alert" admin@example.com
fi
通过系统化的日志分析和性能监控,可以显著提高Linux系统的稳定性和效率。