插件窝 干货文章 如何使用Linux进行进程管理和调优

如何使用Linux进行进程管理和调优

进程 优先级 bash PID 758    来源:    2025-04-13

Linux进程管理与调优指南

一、进程基础管理

1. 查看进程信息

# 查看所有进程
ps aux

# 查看特定进程
ps -p [PID] -o pid,ppid,cmd,%mem,%cpu

# 动态查看进程(top的增强版)
htop

# 查看进程树
pstree -p

2. 进程控制

# 终止进程
kill [PID]

# 强制终止进程
kill -9 [PID]

# 按名称终止进程
pkill [process_name]

# 暂停进程
kill -STOP [PID]

# 继续暂停的进程
kill -CONT [PID]

二、进程优先级管理

1. 调整进程优先级(nice值)

# 启动时设置优先级(nice值范围-20到19,值越小优先级越高)
nice -n [优先级值] [命令]

# 修改运行中进程的优先级
renice [优先级值] -p [PID]

2. 实时优先级调度

# 设置实时优先级(1-99,数字越大优先级越高)
chrt -r -p [优先级] [PID]

三、进程资源监控

1. 系统资源监控工具

# 经典系统监控工具
top

# 更强大的监控工具
htop
glances

# I/O监控
iotop

# 网络监控
nethogs

2. 进程资源限制

# 查看进程资源限制
cat /proc/[PID]/limits

# 使用ulimit设置资源限制(当前会话)
ulimit -a  # 查看所有限制
ulimit -n [文件描述符数量]  # 设置最大打开文件数

四、进程调优技术

1. CPU亲和性(CPU绑定)

# 查看进程的CPU亲和性
taskset -p [PID]

# 设置进程的CPU亲和性
taskset -pc [CPU列表] [PID]

2. 内存优化

# 查看进程内存使用
pmap -x [PID]

# 释放缓存
sync && echo 3 > /proc/sys/vm/drop_caches

3. I/O调度优化

# 查看当前I/O调度器
cat /sys/block/[设备]/queue/scheduler

# 临时更改I/O调度器
echo [调度器名称] > /sys/block/[设备]/queue/scheduler

五、高级调优工具

1. perf性能分析工具

# 系统级性能分析
perf stat -a sleep 5

# 进程级性能分析
perf stat -p [PID] sleep 5

# 函数级热点分析
perf top

2. strace系统调用跟踪

# 跟踪进程的系统调用
strace -p [PID]

# 统计系统调用
strace -c -p [PID]

3. 内核参数调优

# 临时修改内核参数
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系统中的进程,提高系统性能和稳定性。