Linux 内核参数怎样调优呢

2024-04-24 14:14:55 浏览数 (3)

平时在排查问题以及系统性能优化时,会遇到内核相关的问题,怎样才能优化高性能的内核去转发流量及服务于应用呢,

以下是本人的一点建议,可以从这几个方面思路入手!

Linux内核参数怎样调优?

Linux 内核参数可以通过修改 /sys/ 或 /proc/ 目录下的系统参数文件来实现, 以下是常见的内核参数调优策略:

  • 文件系统缓存大小

通过修改 vm.dirty_ratio 和 vm.dirty_background_ratio 参数来调整文件系统缓存大小, 这些参数控制了内核在将脏数据写入磁盘之前可以使用的内存比例;

  • 网络连接数

通过修改 net.core.somaxconn 参数来调整网络连接数, 这个参数控制了套接字监听队列的最大长度;

  • 内存分配策略

通过修改 vm.swappiness 参数来调整内存分配策略, 这个参数控制了内核在内存不足时倾向于使用交换空间的程度;

  • 内核调度策略

通过修改 kernel.sched_min_granularity_ns 和 kernel.sched_wakeup_granularity_ns 参数来调整内核调度策略, 这些参数控制了进程调度的粒度和唤醒的延迟;

  • 磁盘调度策略

通过修改 /sys/block//queue/scheduler 参数来调整磁盘调度策略, 常见的调度器包括 cfq、deadline 和 noop;

  • 内存管理参数

通过修改 vm.* 系列的参数来调整内存管理策略。例如,vm.dirty_expire_centisecs 参数控制了脏数据在内存中保留的时间;

  • 网络参数

通过修改 net.* 系列的参数来调整网络性能。例如,net.core.netdev_max_backlog 参数控制了传入网络数据包的最大排队长度;

  • 系统调用参数

通过修改 fs.* 系列的参数来调整系统调用性能。例如,fs.file-max 参数控制了系统同时打开的文件描述符的最大数量;

最后还有可打开文件数上,单一进程的最大可以打开的文件数设置为65535, 修改* soft nofile 65535 与* hard nofile 65535 即可;

0 人点赞