引言
AlmaLinux 作为 CentOS 的继任者,凭借其与 RHEL 的二进制兼容性、稳定性和社区驱动的特性,已成为企业级服务器操作系统的热门选择。然而,仅仅安装系统并不能充分发挥其性能潜力。本文将从基础配置入手,逐步深入到高级调优技巧,帮助您将 AlmaLinux 的性能推向极限。我们将涵盖系统监控、内核参数调整、文件系统优化、网络调优以及容器化环境下的性能管理,并提供详尽的实战示例和代码。
第一部分:基础配置与监控
1.1 系统初始化与基础优化
在安装 AlmaLinux 后,首先进行基础配置以确保系统处于最佳状态。
更新系统:
sudo dnf update -y
安装常用工具:
sudo dnf install -y htop iotop sysstat net-tools bind-utils
禁用不必要的服务:
# 查看当前运行的服务
systemctl list-unit-files --type=service | grep enabled
# 禁用不需要的服务,例如 postfix(如果不需要邮件服务)
sudo systemctl disable postfix
sudo systemctl stop postfix
配置防火墙:
# 启用防火墙并允许 SSH
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
1.2 系统监控工具
性能调优的第一步是了解系统当前状态。以下是几个关键监控工具:
top/htop:
htop
htop提供了更友好的界面,可以实时查看 CPU、内存、进程等信息。
vmstat:
vmstat 1 10
- 每秒输出一次,共10次,显示进程、内存、I/O、系统和 CPU 活动。
iostat:
iostat -x 1 10
- 显示磁盘 I/O 统计信息,包括读写速率、I/O 等待时间等。
netstat/ss:
ss -tuln
- 查看网络连接和监听端口。
sar(系统活动报告):
# 安装 sysstat
sudo dnf install -y sysstat
# 启用 sar
sudo systemctl enable sysstat
sudo systemctl start sysstat
# 查看历史数据
sar -u 1 10 # CPU 使用率
sar -r 1 10 # 内存使用率
sar -d 1 10 # 磁盘 I/O
1.3 基础性能指标
在调优前,需要明确几个关键性能指标:
- CPU 使用率:理想情况下,用户态(us)和系统态(sy)应低于 70%,iowait(等待 I/O)应低于 10%。
- 内存使用率:可用内存(free)应保持在一定水平,避免频繁交换(swap)。
- 磁盘 I/O:磁盘利用率(%util)应低于 80%,await(平均 I/O 等待时间)应尽可能低。
- 网络吞吐量:根据业务需求,确保网络带宽不成为瓶颈。
第二部分:内核参数调优
2.1 调整内核参数
内核参数直接影响系统性能。通过修改 /etc/sysctl.conf 文件进行调整。
示例:优化网络性能
# 编辑 sysctl.conf
sudo vi /etc/sysctl.conf
# 添加以下内容
# 增加 TCP 最大连接数
net.core.somaxconn = 65535
# 增加 TCP 缓冲区大小
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
# 启用 TCP 时间戳和窗口缩放
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_window_scaling = 1
# 减少 TIME_WAIT 状态的连接数
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0 # 注意:在 NAT 环境下可能有问题,建议禁用
# 增加可用端口范围
net.ipv4.ip_local_port_range = 1024 65535
# 启用 TCP 快速回收(谨慎使用)
net.ipv4.tcp_fastopen = 3
# 增加文件描述符限制
fs.file-max = 2097152
应用配置:
sudo sysctl -p
2.2 调整进程和内存参数
调整进程限制:
# 编辑 limits.conf
sudo vi /etc/security/limits.conf
# 添加以下内容
* soft nofile 1048576
* hard nofile 1048576
* soft nproc 65535
* hard nproc 65535
调整虚拟内存参数:
# 编辑 sysctl.conf
sudo vi /etc/sysctl.conf
# 添加以下内容
# 优化虚拟内存管理
vm.swappiness = 10 # 减少交换倾向,值越低越倾向于使用物理内存
vm.dirty_ratio = 10 # 系统内存中脏页占总内存的比例,超过此值开始写回磁盘
vm.dirty_background_ratio = 5 # 后台写回脏页的比例
vm.dirty_expire_centisecs = 3000 # 脏页过期时间(百分之一秒)
vm.vfs_cache_pressure = 50 # 控制内核回收用于文件系统缓存的内存倾向,值越低越倾向于保留缓存
应用配置:
sudo sysctl -p
2.3 使用 tuned 进行动态调优
tuned 是一个动态调优工具,可以根据不同工作负载自动调整内核参数。
安装和启用 tuned:
sudo dnf install -y tuned
sudo systemctl enable tuned
sudo systemctl start tuned
查看可用配置文件:
tuned-adm list
选择适合的配置文件:
# 对于数据库服务器,选择 latency-performance
sudo tuned-adm profile latency-performance
# 对于虚拟机,选择 virtual-guest
sudo tuned-adm profile virtual-guest
# 对于网络服务器,选择 network-latency
sudo tuned-adm profile network-latency
创建自定义配置文件:
# 创建自定义配置目录
sudo mkdir -p /etc/tuned/custom-profile
# 创建配置文件
sudo vi /etc/tuned/custom-profile/tuned.conf
# 添加以下内容
[main]
include=latency-performance
[sysctl]
# 自定义内核参数
net.core.somaxconn = 65535
vm.swappiness = 10
启用自定义配置:
sudo tuned-adm profile custom-profile
第三部分:文件系统优化
3.1 选择合适的文件系统
AlmaLinux 支持多种文件系统,如 ext4、XFS、Btrfs 等。对于大多数服务器场景,XFS 和 ext4 是首选。
XFS 文件系统:
- 适合大文件和高并发 I/O 场景,如数据库、媒体服务器。
- 支持在线调整大小,但不支持缩小。
ext4 文件系统:
- 通用性好,适合大多数场景。
- 支持在线调整大小,但性能略低于 XFS。
3.2 挂载选项优化
通过调整挂载选项可以提升文件系统性能。
XFS 优化示例:
# 编辑 /etc/fstab
sudo vi /etc/fstab
# 修改 XFS 挂载选项
/dev/sdb1 /data xfs defaults,noatime,nodiratime,logbufs=8,logbsize=256k 0 0
# 参数说明:
# noatime: 不更新文件访问时间,减少写操作
# nodiratime: 不更新目录访问时间
# logbufs=8: 增加日志缓冲区数量
# logbsize=256k: 增加日志缓冲区大小
ext4 优化示例:
# 编辑 /etc/fstab
sudo vi /etc/fstab
# 修改 ext4 挂载选项
/dev/sdc1 /data ext4 defaults,noatime,nodiratime,data=writeback,barrier=0 0 0
# 参数说明:
# noatime: 不更新文件访问时间
# nodiratime: 不更新目录访问时间
# data=writeback: 写回模式,提高写性能但可能增加数据丢失风险
# barrier=0: 禁用屏障,提高性能但可能增加数据损坏风险(仅在 UPS 保护下使用)
应用挂载选项:
sudo mount -o remount /data
3.3 调整 I/O 调度器
I/O 调度器决定了磁盘 I/O 请求的处理顺序。常见的调度器有 deadline、cfq、noop 和 kyber。
查看当前调度器:
cat /sys/block/sda/queue/scheduler
# 输出示例:noop [deadline] cfq
修改调度器:
# 临时修改
echo deadline > /sys/block/sda/queue/scheduler
# 永久修改(通过 udev 规则)
sudo vi /etc/udev/rules.d/60-scheduler.rules
# 添加以下内容
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/scheduler}="deadline"
不同场景下的调度器选择:
- deadline:适合数据库和服务器,提供低延迟和公平性。
- cfq:适合桌面系统,提供公平的 I/O 分配。
- noop:适合虚拟机或 SSD,因为虚拟机或 SSD 本身有调度机制。
- kyber:适合 NVMe SSD,提供低延迟和高吞吐量。
3.4 使用 LVM 和 RAID 优化
LVM 优化:
# 创建逻辑卷时指定条带大小
sudo lvcreate -L 1T -n lv_data vg_data --stripes 4 --stripesize 64k
# 条带大小(stripesize)应与应用的 I/O 大小匹配,例如数据库通常使用 64k 或 128k
RAID 优化:
- RAID 0:高性能,无冗余,适合临时数据。
- RAID 1:镜像,提供冗余,读性能好。
- RAID 5⁄6:平衡性能和冗余,适合大容量存储。
- RAID 10:高性能和高冗余,适合数据库和关键应用。
第四部分:网络调优
4.1 网络接口优化
调整 MTU(最大传输单元):
# 查看当前 MTU
ip link show
# 临时修改 MTU
sudo ip link set dev eth0 mtu 9000
# 永久修改(通过 NetworkManager)
sudo nmcli con mod "System eth0" 802-3-ethernet.mtu 9000
sudo nmcli con up "System eth0"
调整网络队列长度:
# 查看当前队列长度
ethtool -g eth0
# 调整接收队列长度
sudo ethtool -G eth0 rx 4096 tx 4096
4.2 TCP/IP 协议栈优化
调整 TCP 参数:
# 编辑 sysctl.conf
sudo vi /etc/sysctl.conf
# 添加以下内容
# 启用 TCP 快速重传
net.ipv4.tcp_fack = 1
# 启用 TCP 拥塞控制算法
net.ipv4.tcp_congestion_control = cubic
# 对于高延迟网络,可以使用 BBR
# net.ipv4.tcp_congestion_control = bbr
# 增加 TCP 最大段大小
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_base_mss = 1460
# 减少 TCP 重传次数
net.ipv4.tcp_retries2 = 5
应用配置:
sudo sysctl -p
4.3 使用多队列网卡(RSS)
对于支持多队列的网卡,可以启用 RSS(Receive Side Scaling)来提高网络性能。
启用 RSS:
# 查看网卡是否支持多队列
ethtool -l eth0
# 设置队列数量
sudo ethtool -L eth0 combined 8
# 绑定 CPU 亲和性
sudo systemctl enable irqbalance
sudo systemctl start irqbalance
手动绑定中断:
# 查看中断号
cat /proc/interrupts | grep eth0
# 绑定中断到特定 CPU
echo 2 > /proc/irq/123/smp_affinity # 将中断绑定到 CPU1
4.4 网络流量控制(tc)
使用 tc(Traffic Control)工具进行流量整形和优先级控制。
示例:限制特定 IP 的带宽
# 安装 iproute2
sudo dnf install -y iproute2
# 创建队列规则
sudo tc qdisc add dev eth0 root handle 1: htb default 30
# 创建类
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit
sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 50mbit ceil 100mbit
sudo tc class add dev eth0 parent 1:1 classid 1:20 htb rate 30mbit ceil 100mbit
# 创建过滤器,将特定 IP 的流量分配到类 1:10
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.100 flowid 1:10
第五部分:高级调优技巧
5.1 CPU 调度器优化
调整 CPU 调度器:
# 查看当前调度器
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# 临时修改调度器
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# 永久修改(通过 tuned 或 systemd)
sudo tuned-adm profile latency-performance # 包含 performance 调度器
调整 CPU 亲和性:
# 将进程绑定到特定 CPU
taskset -c 0,1,2 my_process
# 查看进程的 CPU 亲和性
taskset -p <pid>
5.2 内存优化
调整透明大页(THP):
# 查看当前 THP 设置
cat /sys/kernel/mm/transparent_hugepage/enabled
# 临时禁用 THP
echo never > /sys/kernel/mm/transparent_hugepage/enabled
# 永久禁用(通过 tuned)
sudo tuned-adm profile virtual-guest # 通常禁用 THP
调整内存回收策略:
# 编辑 sysctl.conf
sudo vi /etc/sysctl.conf
# 添加以下内容
# 调整内存回收的积极程度
vm.min_free_kbytes = 65536 # 确保系统保留足够的空闲内存
vm.swappiness = 10 # 减少交换倾向
5.3 使用 eBPF 进行性能分析
eBPF(Extended Berkeley Packet Filter)是 Linux 内核的强大工具,可以用于性能分析和监控。
安装 bpftrace:
sudo dnf install -y bpftrace
示例:监控系统调用
# 监控所有系统调用
sudo bpftrace -e 'tracepoint:raw_syscalls:sys_enter { printf("%s\n", str(args->comm)); }'
# 监控特定进程的系统调用
sudo bpftrace -e 'tracepoint:raw_syscalls:sys_enter /comm == "nginx"/ { printf("%s\n", str(args->comm)); }'
示例:监控磁盘 I/O
# 监控磁盘 I/O 延迟
sudo bpftrace -e 'tracepoint:block:block_rq_complete { printf("I/O latency: %d us\n", (args->start_time - args->start_time) / 1000); }'
5.4 使用 perf 进行性能剖析
perf 是 Linux 内核的性能分析工具,可以用于分析 CPU、内存、I/O 等性能问题。
安装 perf:
sudo dnf install -y perf
示例:分析 CPU 使用率
# 记录 10 秒的 CPU 性能数据
sudo perf record -g -p <pid> sleep 10
# 生成报告
sudo perf report
示例:分析内存访问
# 记录内存访问事件
sudo perf record -e cache-misses -p <pid> sleep 10
# 生成报告
sudo perf report
第六部分:容器化环境下的性能调优
6.1 Docker 容器优化
调整 Docker 守护进程参数:
# 编辑 Docker 配置文件
sudo vi /etc/docker/daemon.json
# 添加以下内容
{
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
],
"default-ulimits": {
"nofile": {
"Name": "nofile",
"Hard": 1048576,
"Soft": 1048576
}
},
"exec-opts": ["native.cgroupdriver=systemd"]
}
优化容器资源限制:
# 运行容器时指定资源限制
docker run -d \
--name myapp \
--memory=4g \
--memory-swap=4g \
--cpus=2.0 \
--ulimit nofile=1048576:1048576 \
myimage
6.2 Kubernetes 调优
调整 kubelet 参数:
# 编辑 kubelet 配置文件
sudo vi /etc/kubernetes/kubelet.conf
# 添加以下内容
KUBELET_EXTRA_ARGS="--max-pods=110 --kube-reserved=cpu=500m,memory=500Mi --system-reserved=cpu=500m,memory=500Mi"
调整 Pod 资源限制:
apiVersion: v1
kind: Pod
metadata:
name: myapp
spec:
containers:
- name: myapp
image: myimage
resources:
requests:
memory: "256Mi"
cpu: "250m"
limits:
memory: "512Mi"
cpu: "500m"
6.3 使用 CRI-O 和 containerd
优化 containerd 配置:
# 编辑 containerd 配置文件
sudo vi /etc/containerd/config.toml
# 添加以下内容
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
SystemdCgroup = true
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://registry-1.docker.io"]
第七部分:实战案例
7.1 案例一:Web 服务器性能优化
场景:Nginx 作为静态文件服务器,需要处理高并发请求。
优化步骤:
- 调整 Nginx 配置:
# /etc/nginx/nginx.conf
worker_processes auto; # 自动设置为 CPU 核心数
worker_connections 65535; # 每个 worker 的最大连接数
worker_rlimit_nofile 1048576; # worker 进程的最大文件描述符数
events {
use epoll; # 使用 epoll 事件模型
multi_accept on; # 一次接受多个连接
}
http {
sendfile on; # 启用 sendfile,减少内核态和用户态之间的数据拷贝
tcp_nopush on; # 在发送响应头之前等待,提高效率
tcp_nodelay on; # 禁用 Nagle 算法,减少延迟
keepalive_timeout 65; # 保持连接超时时间
keepalive_requests 10000; # 每个连接的最大请求数
client_body_buffer_size 128k; # 客户端请求体缓冲区大小
client_max_body_size 10m; # 客户端请求体最大大小
client_header_buffer_size 1k; # 客户端请求头缓冲区大小
large_client_header_buffers 4 4k; # 大请求头缓冲区
output_buffers 1 32k; # 输出缓冲区
postpone_output 1460; # 延迟输出
client_body_timeout 12; # 客户端请求体超时
client_header_timeout 12; # 客户端请求头超时
send_timeout 10; # 发送超时
}
- 调整系统参数:
# 编辑 sysctl.conf
sudo vi /etc/sysctl.conf
# 添加以下内容
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 15
- 调整文件系统:
# 使用 XFS 文件系统,并优化挂载选项
/dev/sdb1 /var/www/html xfs defaults,noatime,nodiratime,logbufs=8,logbsize=256k 0 0
- 监控和调整:
# 使用 ab 进行压力测试
sudo dnf install -y httpd-tools
ab -n 100000 -c 1000 http://localhost/
# 使用 htop 和 iostat 监控系统资源
htop
iostat -x 1
7.2 案例二:数据库服务器性能优化
场景:MySQL 作为数据库服务器,需要处理大量读写操作。
优化步骤:
- 调整 MySQL 配置:
# /etc/my.cnf
[mysqld]
# 基础配置
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# 连接配置
max_connections = 1000
max_connect_errors = 100000
connect_timeout = 10
wait_timeout = 600
interactive_timeout = 600
# 缓冲区配置
innodb_buffer_pool_size = 16G # 根据内存调整,通常为总内存的 50-80%
innodb_buffer_pool_instances = 8 # 缓冲池实例数,通常与 CPU 核心数匹配
innodb_log_file_size = 2G
innodb_log_buffer_size = 64M
innodb_flush_log_at_trx_commit = 2 # 平衡性能和数据安全
innodb_flush_method = O_DIRECT # 直接 I/O,避免双缓冲
innodb_file_per_table = ON
# 日志配置
slow_query_log = ON
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
# 其他配置
innodb_read_io_threads = 8
innodb_write_io_threads = 8
innodb_io_capacity = 2000
innodb_io_capacity_max = 4000
- 调整系统参数:
# 编辑 sysctl.conf
sudo vi /etc/sysctl.conf
# 添加以下内容
vm.swappiness = 10
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
vm.vfs_cache_pressure = 50
fs.file-max = 2097152
- 调整文件系统:
# 使用 XFS 文件系统,并优化挂载选项
/dev/sdb1 /var/lib/mysql xfs defaults,noatime,nodiratime,logbufs=8,logbsize=256k 0 0
- 监控和调整:
# 使用 MySQL 自带工具
mysql -e "SHOW STATUS LIKE 'Threads_%';"
mysql -e "SHOW STATUS LIKE 'Innodb_buffer_pool_%';"
# 使用 sysbench 进行压力测试
sudo dnf install -y sysbench
sysbench --test=oltp --mysql-host=localhost --mysql-user=root --mysql-password=yourpassword --mysql-db=test --oltp-table-size=1000000 --oltp-read-only=off --oltp-test-mode=complex --oltp-connect-time=10 --oltp-threads=16 --max-time=300 --report-interval=10 run
7.3 案例三:虚拟化环境优化
场景:AlmaLinux 作为 KVM 虚拟机宿主机,需要运行多个虚拟机。
优化步骤:
- 调整 KVM 宿主机参数:
# 编辑 sysctl.conf
sudo vi /etc/sysctl.conf
# 添加以下内容
# 增加虚拟内存映射限制
vm.max_map_count = 262144
# 调整内存回收策略
vm.swappiness = 10
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
# 增加文件描述符限制
fs.file-max = 2097152
- 调整 CPU 调度器:
# 使用 tuned 进行动态调优
sudo tuned-adm profile virtual-host
- 优化虚拟机配置:
<!-- 示例:KVM 虚拟机 XML 配置 -->
<domain type='kvm'>
<name>vm1</name>
<memory unit='KiB'>8388608</memory> <!-- 8GB 内存 -->
<vcpu placement='static'>4</vcpu> <!-- 4 个 vCPU -->
<cpu mode='host-passthrough'> <!-- 透传 CPU 特性 -->
<topology sockets='1' cores='4' threads='1'/>
</cpu>
<features>
<acpi/>
<apic/>
<kvm>
<hidden state='off'/>
</kvm>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none' io='native'/>
<source file='/var/lib/libvirt/images/vm1.qcow2'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
<interface type='bridge'>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<console type='pty'>
<target type='serial' port='0'/>
</console>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes'/>
<video>
<model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1'/>
</video>
</devices>
</domain>
- 监控和调整:
# 使用 virt-top 监控虚拟机性能
sudo dnf install -y virt-top
virt-top
# 使用 perf 监控 KVM 性能
sudo perf kvm --guest record -a -o perf.data
sudo perf kvm --guest report -i perf.data
第八部分:性能调优的最佳实践
8.1 持续监控与调优
性能调优是一个持续的过程,需要定期监控和调整。
建立监控体系:
- 使用 Prometheus + Grafana 搭建监控平台。
- 监控关键指标:CPU、内存、磁盘 I/O、网络流量、应用响应时间等。
- 设置告警规则,及时发现性能瓶颈。
定期性能测试:
- 使用压力测试工具(如 ab、sysbench、JMeter)定期测试系统性能。
- 分析测试结果,找出性能瓶颈并进行优化。
8.2 文档化与团队协作
记录调优过程:
- 记录每次调优的参数、原因和效果。
- 建立知识库,方便团队成员参考和学习。
团队协作:
- 定期召开性能调优会议,分享经验和最佳实践。
- 鼓励团队成员参与性能优化,共同提升系统性能。
8.3 避免常见陷阱
不要盲目调整参数:
- 每个系统的工作负载不同,调整参数前需要充分测试。
- 避免使用未经验证的参数组合。
不要忽视硬件限制:
- 软件调优无法突破硬件瓶颈,如 CPU、内存、磁盘 I/O 等。
- 在硬件升级前,先进行软件优化。
不要过度优化:
- 过度优化可能导致系统不稳定或复杂性增加。
- 在性能和稳定性之间找到平衡点。
结论
AlmaLinux 作为企业级操作系统,通过合理的配置和调优,可以充分发挥其性能潜力。本文从基础配置到高级调优,涵盖了系统监控、内核参数调整、文件系统优化、网络调优以及容器化环境下的性能管理。通过实战案例,展示了如何在不同场景下进行性能优化。
性能调优是一个持续的过程,需要结合监控、测试和调整。希望本文能帮助您将 AlmaLinux 的性能推向极限,为您的业务提供稳定、高效的支持。
参考资源:
- AlmaLinux 官方文档:https://almalinux.org/docs/
- Linux 内核文档:https://www.kernel.org/doc/html/latest/
- tuned 项目:https://github.com/redhat-performance/tuned
- perf 工具:https://perf.wiki.kernel.org/
- bpftrace 文档:https://github.com/iovisor/bpftrace
工具推荐:
- 监控:Prometheus, Grafana, Netdata
- 压力测试:ab, sysbench, JMeter, wrk
- 性能分析:perf, bpftrace, strace, ltrace
- 日志分析:ELK Stack (Elasticsearch, Logstash, Kibana)
通过不断学习和实践,您将成为 AlmaLinux 性能调优的专家。祝您调优顺利!
