1. 首页 > Linux教程 > 正文

Linux教程FG481-Linux系统调优实战

内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。

风哥提示:

本文档介绍Linux系统性能调优实战案例。

Part01-内核参数调优

1.1 网络参数优化

# 查看当前网络参数
[root@fgedu ~]# sysctl -a | grep net.core
net.core.somaxconn = 128
net.core.netdev_max_backlog = 1000
net.core.rmem_default = 212992
net.core.wmem_default = 212992
net.core.rmem_max = 212992
net.core.wmem_max = 212992

# 优化网络参数
[root@fgedu ~]# cat >> /etc/sysctl.conf << 'EOF' # 网络优化 net.core.somaxconn = 65535 net.core.netdev_max_backlog = 65535 net.core.rmem_default = 8388608 net.core.wmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_max_syn_backlog = 65535 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 0 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.tcp_keepalive_probes = 5 net.ipv4.tcp_keepalive_intvl = 30 net.ipv4.tcp_max_tw_buckets = 5000 net.ipv4.ip_local_port_range = 1024 65535 net.ipv4.tcp_max_orphans = 3276800 net.ipv4.tcp_wmem = 8192 131072 16777216 net.ipv4.tcp_rmem = 32768 131072 16777216 EOF [root@fgedu ~]# sysctl -p net.core.somaxconn = 65535 net.core.netdev_max_backlog = 65535 net.core.rmem_default = 8388608 net.core.wmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_max_syn_backlog = 65535 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.tcp_max_tw_buckets = 5000 net.ipv4.ip_local_port_range = 1024 65535

Part02-内存优化

2.1 内存参数调优

# 查看内存状态
[root@fgedu ~]# free -h
total used free shared buff/cache available
Mem: 31Gi 8.2Gi 15Gi 1.2Gi 8.0Gi 21Gi
Swap: 8.0Gi 0B 8.0Gi

# 配置大页内存
[root@fgedu ~]# cat >> /etc/sysctl.conf << 'EOF' # 内存优化 vm.swappiness = 10 vm.dirty_ratio = 80 vm.dirty_background_ratio = 5 vm.overcommit_memory = 1 vm.max_map_count = 262144 vm.min_free_kbytes = 1048576 # 大页内存配置 vm.nr_hugepages = 1024 EOF [root@fgedu ~]# sysctl -p # 查看大页内存 [root@fgedu ~]# cat /proc/meminfo | grep Huge AnonHugePages: 2048 kB ShmemHugePages: 0 kB FileHugePages: 0 kB HugePages_Total: 1024 HugePages_Free: 1024 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB Hugetlb: 2097152 kB # 关闭透明大页 [root@fgedu ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@fgedu ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag

[root@fgedu ~]# cat >> /etc/rc.d/rc.local << 'EOF' echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
EOF

[root@fgedu ~]# chmod +x /etc/rc.d/rc.local

Part03-磁盘I/O优化

3.1 I/O调度器配置

# 查看当前I/O调度器
[root@fgedu ~]# cat /sys/block/sda/queue/scheduler
[mq-deadline] kyber bfq none

# 查看磁盘I/O统计
[root@fgedu ~]# iostat -x 1 5
Linux 5.14.0-284.学习交流加群风哥QQ11325717411.1.el9_2.x86_64 (fgedu.net.cn) 04/04/2026 _x86_64_ (8 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
5.00 0.00 2.00 0.50 0.00 92.50

Device r/s w/s rMB/s wMB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
sda 10.更多视频教程www.fgedu.net.cn0 20.0 0.5 1.0 0.0 5.0 0.00 20.00 1.00 2.00 0.05 50.00 50.00 0.50 1.50

# 优化I/O调度器(SSD使用none或mq-deadline)
[root@fgedu ~]# echo none > /sys/block/sda/queue/scheduler

# 永久配置
[root@fgedu ~]# cat >> /etc/rc.d/rc.local << 'EOF' echo none > /sys/block/sda/queue/scheduler
EOF

# 配置文件系统挂载选项
[root@fgedu ~]# cat /etc/fstab | grep fgedu
/dev/mapper/vg_fgedu-lv_data学习交流加群风哥微信: itpux-com /fgdata xfs defaults,noatime,nodiratime 0 0

# 查看块设备队列深度
[root@fgedu ~]# cat /sys/block/sda/queue/nr_requests
256

# 增加队列深度
[root@fgedu ~]# echo 512 > /sys/block/sda/queue/nr_requests

Part04-系统资源限制

4.1 配置资源限制

# 查看当前限制
[root@fgedu ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 63477
max locked memory (kbytes, -l) 65536
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 63477
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

# 修改系统限制
[root@fgedu ~]# cat >> /etc/security/limits.conf << 'EOF' # 系统资源限制 * soft nofile 655350 * hard nofile 655350 * soft nproc 655350 * hard nproc 655350 * soft memlock unlimited * hard memlock unlimited * soft stack unlimited * hard stack unlimited root soft nofile 655350 root hard nofile 6from PG视频:www.itpux.com55350 EOF # 配置系统全局限制 [root@fgedu ~]# cat >> /etc/sysctl.conf << 'EOF' # 文件描述符限制 fs.file-max = 2097152 fs.nr_open = 2097152 fs.aio-max-nr = 1048576 EOF [root@fgedu ~]# sysctl -p # 配置PAM限制 [root@fgedu ~]# cat /etc/pam.d/login | grep pam_limits session required pam_limits.so # 验证配置 [root@fgedu ~]# ulimit -n 655350 [root@fgedu ~]# cat /proc/sys/fs/file-max 2097152

风哥针对系统调优建议:

  • 根据应用场景调整内核参数
  • 合理配置内存和大页内存
  • 选择合适的I/O调度器
  • 增加系统资源限制
  • 定期监控系统性能

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息