内容简介:本文风哥教程参考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调度器配置
[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
