作为IT工程师,掌握Linux系统的进程管理和性能监测是必备技能。以下是一份全面的指南:
ps - 查看当前进程状态
ps aux # 查看所有用户的所有进程
ps -ef # 标准格式显示进程
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head # 按CPU使用率排序
top - 动态查看进程
top # 交互式进程查看器
top -u username # 查看特定用户的进程
htop - 增强版top(需安装)
htop # 更直观的进程查看器
pstree - 树状显示进程
pstree -p # 显示进程树和PID
kill - 终止进程
kill -9 PID # 强制终止进程
killall process_name # 终止所有同名进程
nice/renice - 调整进程优先级
nice -n 19 command # 以最低优先级启动进程
renice 10 -p PID # 修改运行中进程的优先级
nohup - 后台运行进程
nohup command & # 退出终端后继续运行
pgrep - 查找进程ID
pgrep -u root sshd # 查找root用户的sshd进程
pkill - 按名称终止进程
pkill -f "pattern" # 终止匹配模式的进程
vmstat - 虚拟内存统计
vmstat 1 5 # 每秒1次,共5次
free - 内存使用情况
free -h # 人类可读格式
free -s 5 # 每5秒刷新
iostat - I/O统计(需安装sysstat)
iostat -x 1 # 扩展I/O统计,每秒刷新
sar - 系统活动报告(需安装sysstat)
sar -u 1 3 # CPU使用率,每秒1次共3次
sar -r 1 3 # 内存使用情况
iftop - 实时网络带宽监控(需安装)
iftop -i eth0 # 监控eth0网卡
nethogs - 按进程显示网络带宽(需安装)
nethogs eth0 # 监控eth0网卡的进程流量
ss - 套接字统计
ss -tulnp # 查看所有监听端口和进程
dstat - 全能系统资源统计工具(需安装)
dstat -cdngy --top-cpu --top-mem --top-io
glances - 综合监控工具(需安装)
glances # 图形化综合监控
perf - Linux性能分析工具
perf stat command # 统计命令执行性能
perf top # 实时性能分析
journalctl - systemd日志查看
journalctl -xe # 查看详细日志
journalctl -f # 实时跟踪日志
dmesg - 内核日志
dmesg | grep -i error
配置cron定时任务收集性能数据
# 每天收集一次完整系统状态
0 0 * * * /usr/bin/sar -A -o /var/log/sa/sa$(date +\%d) > /dev/null 2>&1
使用监控系统:
设置告警:
CPU瓶颈:
taskset
绑定进程到特定CPU核心内存瓶颈:
echo 10 > /proc/sys/vm/swappiness
I/O瓶颈:
ionice -c2 -n7 command
网络瓶颈:
通过熟练掌握这些工具和技巧,您可以有效地管理和优化Linux系统性能,快速定位和解决系统瓶颈问题。