Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
chaterm avatar

Tuning

  • 65 installs
  • 50 repo stars
  • Updated March 3, 2026
  • chaterm/terminal-skills

Tune Linux system and kernel parameters for performance from the terminal.

About

Reference for adjusting Linux performance parameters such as kernel and system settings via the command line. Used when a developer optimizes server performance.

  • Kernel and system parameter tuning
  • Linux performance optimization from the terminal

Tuning by the numbers

  • 65 all-time installs (skills.sh)
  • Ranked #673 of 1,039 Cloud & Infrastructure skills by installs in the Skillselion catalog
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/chaterm/terminal-skills --skill tuning

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs65
repo stars50
Last updatedMarch 3, 2026
Repositorychaterm/terminal-skills

What it does

Tune Linux system and kernel parameters for performance from the terminal.

Files

SKILL.mdMarkdownGitHub ↗

系统调优

概述

内核参数、文件系统、网络优化技能。

内核参数调优

内存管理

# /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 \
内存参数sysctl -a \
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

Related skills

Cloud & Infrastructureinframonitoring

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.