Linux系统性能调优技巧

在Linux系统性能调优中,涉及代码和具体命令的部分主要包括硬件资源监控、内核参数调整、进程管理优化等方面。以下是一些具体的代码和命令示例:

1. 硬件资源监控

CPU监控

- 使用`top`命令:

  top
  按`1`键可以查看每个CPU核心的使用情况。

- 使用`htop`命令(需要先安装):

   htop
  htop是top的增强版,界面更友好。

- 使用`mpstat`命令(`sysstat`工具集的一部分):

  mpstat -P ALL 1
  每秒显示所有CPU的信息。

内存监控

- 使用`free`命令:

  free -h
  显示系统的内存使用情况。

- 使用`vmstat`命令:
  

 vmstat 1
每秒更新一次数据,提供关于系统内存、进程、I/O等的综合信息。

磁盘I/O监控

- 使用`iostat`命令:

 iostat -x 1
 显示扩展统计信息,每秒更新一次,包括读写速率、I/O等待等信息。

- 使用`iotop`命令(需要root权限):


  sudo iotop

  专门用于监控实时I/O使用情况,显示进程的磁盘I/O使用情况。

内核参数调整

- 调整虚拟内存(Swap)使用倾向:
 


  sysctl vm.swappiness=10

  将`vm.swappiness`的值设置为较低值(如10),让系统更倾向于使用物理内存。

- 调整写入缓存的刷新频率:
 


  sysctl vm.dirty_ratio=15
  sysctl vm.dirty_background_ratio=5

  优化写入缓存的刷新频率,减少磁盘I/O压力。

- 启用透明大页(THP):


  echo always > /sys/kernel/mm/transparent_hugepage/enabled

  可以在需要大块内存的应用中提升性能,特别是虚拟化或数据库应用。

进程管理优化

- 为进程增加打开文件句柄的限制:
 

 编辑`/etc/security/limits.conf`文件,添加或修改以下行:

  * hard nofile 65535
  * soft nofile 65535

  以避免高负载下的资源不足。

- 调整TCP窗口大小:


  sysctl -w net.ipv4.tcp_window_scaling=1
  sysctl -w net.core.rmem_default=262144
  sysctl -w net.core.wmem_default=262144

  增加TCP窗口大小,提升高延迟网络环境下的吞吐量。

文件系统优化

- 使用`noatime`选项挂载文件系统:


  编辑`/etc/fstab`文件,为需要优化的分区添加`noatime`选项,例如:

  /dev/sda1 / ext4 defaults,noatime 0 0

  减少每次文件读取时更新访问时间的磁盘I/O操作。

网络优化

- 增加服务器的连接队列长度:


  sysctl -w net.core.somaxconn=1024

  避免在高并发时的连接拒绝。

- 增加网络缓冲区大小:


  sysctl -w net.core.rmem_max=16777216
  sysctl -w net.core.wmem_max=16777216

  避免高负载时的网络包丢失。

使用调优工具

- 安装并使用`tuned`工具:
 


  yum install tuned
  tuned-adm profile throughput-performance

  根据系统角色自动调整内核参数和性能配置。

猜你喜欢

转载自blog.csdn.net/2201_75540404/article/details/143532893
今日推荐