# 查看所有进程
ps aux
# 查看特定进程
ps -p [PID] -o pid,ppid,cmd,%mem,%cpu
# 动态查看进程(top的增强版)
htop
# 查看进程树
pstree -p
# 终止进程
kill [PID]
# 强制终止进程
kill -9 [PID]
# 按名称终止进程
pkill [process_name]
# 暂停进程
kill -STOP [PID]
# 继续暂停的进程
kill -CONT [PID]
# 启动时设置优先级(nice值范围-20到19,值越小优先级越高)
nice -n [优先级值] [命令]
# 修改运行中进程的优先级
renice [优先级值] -p [PID]
# 设置实时优先级(1-99,数字越大优先级越高)
chrt -r -p [优先级] [PID]
# 经典系统监控工具
top
# 更强大的监控工具
htop
glances
# I/O监控
iotop
# 网络监控
nethogs
# 查看进程资源限制
cat /proc/[PID]/limits
# 使用ulimit设置资源限制(当前会话)
ulimit -a # 查看所有限制
ulimit -n [文件描述符数量] # 设置最大打开文件数
# 查看进程的CPU亲和性
taskset -p [PID]
# 设置进程的CPU亲和性
taskset -pc [CPU列表] [PID]
# 查看进程内存使用
pmap -x [PID]
# 释放缓存
sync && echo 3 > /proc/sys/vm/drop_caches
# 查看当前I/O调度器
cat /sys/block/[设备]/queue/scheduler
# 临时更改I/O调度器
echo [调度器名称] > /sys/block/[设备]/queue/scheduler
# 系统级性能分析
perf stat -a sleep 5
# 进程级性能分析
perf stat -p [PID] sleep 5
# 函数级热点分析
perf top
# 跟踪进程的系统调用
strace -p [PID]
# 统计系统调用
strace -c -p [PID]
# 临时修改内核参数
sysctl -w [参数]=[值]
# 永久修改(编辑/etc/sysctl.conf)
echo "[参数]=[值]" >> /etc/sysctl.conf
sysctl -p
#!/bin/bash
# 监控高CPU进程
while true; do
clear
echo "高CPU使用进程:"
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 10
echo ""
echo "高内存使用进程:"
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -n 10
sleep 5
done
通过掌握这些工具和技术,您可以有效地管理和优化Linux系统中的进程,提高系统性能和稳定性。