如何在Linux中进行系统调优和优化?代码举例讲解

在Linux中,可以通过以下几种方式进行系统调优和优化:

  1. CPU调优:
  • 查看CPU信息:cat /proc/cpuinfo
  • 设置CPU亲和性:taskset -cp 1 将进程绑定到CPU1。
  • 调整进程优先级:nice -n -10 增加进程优先级。
    例如:
# 查看CPU信息
cat /proc/cpuinfo 

# 将进程1234绑定到CPU1
taskset -cp 1 1234  

# 增加进程1234优先级  
nice -n -10 1234 
  1. 内存调优:
  • 查看内存信息:free -m
  • 调整swappiness参数:sudo sysctl vm.swappiness=10
  • 设置OOM分数:echo -17 > /proc/1234/oom_score_adj
    例如:
# 查看内存信息
free -m

# 调整swappiness值为10
sudo sysctl vm.swappiness=10  

# 设置进程1234 OOM分数为-17
echo -17 > /proc/1234/oom_score_adj
  1. I/O调优:
  • 查看I/O统计信息:iostat
  • deadline调度算法:echo “deadline” > /sys/block/sda/queue/scheduler
  • noop调度算法:echo “noop” > /sys/block/sda/queue/scheduler
    例如:
# 查看I/O统计信息
iostat

# set sda使用deadline调度算法
echo "deadline" > /sys/block/sda/queue/scheduler  

# set sda使用noop调度算法 
echo "noop" > /sys/block/sda/queue/scheduler
  1. 网络调优:
  • 查看网络状态:netstat -tunlp
  • 修改网卡MTU:ip link set eth0 mtu 1500
  • 启用转发功能:echo 1 > /proc/sys/net/ipv4/ip_forward
    例如:
# 查看网络状态
netstat -tunlp  

# 设置eth0 MTU为1500
ip link set eth0 mtu 1500

# 启用ip转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward