tuning
8
总安装量
4
周安装量
#36007
全站排名
安装命令
npx skills add https://github.com/chaterm/terminal-skills --skill tuning
Agent 安装分布
claude-code
4
opencode
3
windsurf
2
codex
2
github-copilot
2
antigravity
2
Skill 文档
ç³»ç»è°ä¼
æ¦è¿°
å æ ¸åæ°ãæä»¶ç³»ç»ãç½ç»ä¼åæè½ã
å æ ¸åæ°è°ä¼
å å管ç
# /etc/sysctl.d/99-memory.conf
# åå°äº¤æ¢å¾å
vm.swappiness = 10
# è页巿°
vm.dirty_ratio = 20
vm.dirty_background_ratio = 5
# å
åè¿éæäº¤
vm.overcommit_memory = 1
vm.overcommit_ratio = 80
# æå¤§å
åæ å°æ°
vm.max_map_count = 262144
# åºç¨
sysctl -p /etc/sysctl.d/99-memory.conf
ç½ç»è°ä¼
# /etc/sysctl.d/99-network.conf
# 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
# è¿æ¥éå
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
# TIME_WAIT
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_max_tw_buckets = 65535
# 端å£èå´
net.ipv4.ip_local_port_range = 1024 65535
# Keep-Alive
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
æä»¶ç³»ç»
# /etc/sysctl.d/99-fs.conf
# æä»¶å¥æ
fs.file-max = 2097152
fs.nr_open = 2097152
# inotify
fs.inotify.max_user_watches = 524288
fs.inotify.max_user_instances = 512
æä»¶æè¿°ç¬¦éå¶
ulimit é ç½®
# /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
root soft nofile 65535
root hard nofile 65535
systemd æå¡
# /etc/systemd/system/myapp.service.d/limits.conf
[Service]
LimitNOFILE=65535
LimitNPROC=65535
ç£ç IO è°ä¼
IO è°åº¦å¨
# æ¥çå½åè°åº¦å¨
cat /sys/block/sda/queue/scheduler
# 设置è°åº¦å¨
echo deadline > /sys/block/sda/queue/scheduler
echo noop > /sys/block/sda/queue/scheduler # SSD
echo mq-deadline > /sys/block/nvme0n1/queue/scheduler
# æ°¸ä¹
设置 (GRUB)
GRUB_CMDLINE_LINUX="elevator=deadline"
é¢è¯»è®¾ç½®
# æ¥çé¢è¯»
blockdev --getra /dev/sda
# 设置é¢è¯» (KB)
blockdev --setra 4096 /dev/sda
æè½½é项
# /etc/fstab
# SSD ä¼å
/dev/sda1 /data ext4 defaults,noatime,nodiratime,discard 0 2
# æ°æ®åºä¼å
/dev/sdb1 /mysql ext4 defaults,noatime,barrier=0 0 2
CPU è°ä¼
CPU é¢ç
# æ¥çè°éå¨
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# 设置æ§è½æ¨¡å¼
cpupower frequency-set -g performance
# æç´æ¥è®¾ç½®
echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
NUMA ä¼å
# æ¥ç NUMA ä¿¡æ¯
numactl --hardware
numastat
# ç»å® NUMA èç¹
numactl --cpunodebind=0 --membind=0 ./program
# æ¥çè¿ç¨ NUMA åå¸
numastat -p PID
CPU äº²åæ§
# æ¥çäº²åæ§
taskset -p PID
# è®¾ç½®äº²åæ§
taskset -c 0-3 ./program
taskset -pc 0-3 PID
常è§åºæ¯
åºæ¯ 1ï¼Web æå¡å¨ä¼å
# /etc/sysctl.d/99-web.conf
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.core.netdev_max_backlog = 65535
# æä»¶æè¿°ç¬¦
fs.file-max = 2097152
åºæ¯ 2ï¼æ°æ®åºæå¡å¨ä¼å
# /etc/sysctl.d/99-database.conf
vm.swappiness = 1
vm.dirty_ratio = 40
vm.dirty_background_ratio = 10
vm.overcommit_memory = 1
# 大页å
å
vm.nr_hugepages = 1024
åºæ¯ 3ï¼é«å¹¶åä¼å
#!/bin/bash
# ä¸é®ä¼åèæ¬
# ç½ç»
sysctl -w net.core.somaxconn=65535
sysctl -w net.ipv4.tcp_max_syn_backlog=65535
sysctl -w net.ipv4.ip_local_port_range="1024 65535"
# æä»¶
sysctl -w fs.file-max=2097152
# å
å
sysctl -w vm.swappiness=10
è°ä¼æ£æ¥
| é¡¹ç® | æ£æ¥å½ä»¤ |
|---|---|
| æä»¶éå¶ | ulimit -n |
| ç½ç»åæ° | sysctl -a | grep net |
| å ååæ° | sysctl -a | grep vm |
| IO è°åº¦ | cat /sys/block/*/queue/scheduler |
æ éææ¥
# æ£æ¥å½åéå¶
cat /proc/PID/limits
# æ£æ¥æå¼æä»¶æ°
ls /proc/PID/fd | wc -l
lsof -p PID | wc -l
# æ£æ¥ç½ç»è¿æ¥
ss -s
netstat -an | awk '/tcp/ {print $6}' | sort | uniq -c