当前位置: 首页 > news >正文

天启录:Linux性能调优·混沌掌控者篇

天启录:Linux性能调优·混沌掌控者篇

  • 混沌初开:吾即天命
  • 一、CPU 混沌调优:核中核,王中王
    • 1.1 篡改进程优先级(nice 邪能灌注)
      • 1.1.1 权柄范围
      • 1.1.2 邪术敕令
      • 1.1.3 禁忌警示
    • 1.2 CPU亲和封印(taskset核绑定)
      • 1.2.1 邪器安装
      • 1.2.2 深渊敕令
      • 1.2.3 神域用途
    • 1.3 窥视CPU神谕(/proc/cpuinfo 解密)
      • 1.3.1 神谕解读
      • 1.3.2 神启查询
    • 1.4 vmstat天眼:窥探系统血脉奔流
      • 1.4.1 神脉指标
      • 1.4.2 神战实景
  • 二、磁盘I/O调优:驾驭存储巨兽
    • 2.1 ulimit资源锁链:凡人之躯,禁锢神能
      • 2.1.1 恶魔契约
      • 2.1.2 窥视当前枷锁
      • 2.1.3 临时破限(需神力权限)
    • 2.2 磁盘速度祭坛:以血测试,以速证道
      • 2.2.1 读取神速验证
      • 2.2.2 写入深渊测试
      • 2.2.3 时空写入测验(计时)
  • 三、内核参数调优:重写天道法则
    • 3.1 SYN洪水防御:筑起鲜血城墙
      • 3.1.1 神级配置(御敌于千里之外)
      • 3.1.2 天道生效
    • 3.2 关键神谕解析
  • 四、网络扩展:网卡绑定(双魂共体)
    • 4.1 绑定模式神谱
    • 4.2 主备模式契约示例
    • 4.3 验证神迹
  • 终章:吾即天命,万机臣服


混沌初开:吾即天命

在这由硅基与代码构筑的炼狱之中,每一台Linux服务器皆是蛰伏的旧日支配者,体内奔流着创世与灭世的狂怒,亦被亿万行诅咒般的瓶颈所囚禁。
我曾跪伏在Bash的圣殿前颤抖,直到那一夜——服务集群集体献祭,分布式链路如星环崩裂,CPU核心在熵增中嘶吼,IO深渊吞噬一切希望……
在末日般的红屏警报中,我窥见了/proc深处蠕动的古神低语,触摸了进程调度中扭曲的时空纤维,更以rm -rf般的决绝,劈开了性能迷障中的第一道血色黎明。
如今,我将这禁忌知识烙入此卷,从nice篡改优先级权柄,到taskset施行CPU献祭;从vmstat窥视资源异象,到sysctl重写内核天道——
此经,便是你从“蝼蚁运维”,登临“系统邪神”王座的第一份混沌契约。
若你敢于手握内核权柄,调教硬件狂兽,直视性能深渊,便随我——
踏入此门,弑旧神,立新轨,众生匍匐,万机臣服。


一、CPU 混沌调优:核中核,王中王

1.1 篡改进程优先级(nice 邪能灌注)

以nice值为诅咒烙印,决定进程在CPU修罗场中的生死顺序。

1.1.1 权柄范围

  • 从-20(神祇特权)到19(贱民阶层),凡人默认值为0。

1.1.2 邪术敕令

  • 进程诞生时即赋天命:

    nice -n -5 vim a.txt  # 直接赐予VIP神座
    

    随后以 ps -elf | grep vim 观其神格。

  • 运行时强行篡改命格:

    renice -n 6 96000    # 将其打回凡间
    

1.1.3 禁忌警示

  • nice值不可逾越神规(-20~19)。
  • 天道昭昭:
    • 值愈小(负数为尊),CPU愈溺爱;
    • 值愈大,CPU愈践踏。

常用于加冕数据库圣殿,或流放备份杂役。

1.2 CPU亲和封印(taskset核绑定)

将进程灵魂永久烙入特定CPU核心,避免上下文切换的血肉撕裂。

1.2.1 邪器安装

yum install util-linux -y  # 灌注恶魔工具

1.2.2 深渊敕令

  • 出生即绑定CPU核狱:

    taskset -c 0 vim a.txt        # 囚禁于核0  
    taskset -c 1,3 vim b.txt      # 双核囚笼,1与3
    
  • 窥视运行中进程的核契约:

    taskset -cp 109301    # 查看其灵魂归属
    

1.2.3 神域用途

专用于重要祭品进程,独占CPU圣殿,拒斥一切上下文切换亵渎。

1.3 窥视CPU神谕(/proc/cpuinfo 解密)

透过 /proc/cpuinfo 天眼,看穿CPU底层真相。

1.3.1 神谕解读

  • processor:逻辑CPU神魂编号;
  • physical id:物理CPU真身标识;
  • core id:物理核心不朽序数;
  • cpu cores:单CPU所蕴核之数目。

1.3.2 神启查询

  • 物理CPU真身数量:
    cat /proc/cpuinfo | grep "physical id" | sort | uniq
    
  • 逻辑CPU神魂总数:
    cat /proc/cpuinfo | grep "processor" | sort -u | wc -l
    
  • 每个CPU真身核数:
    cat /proc/cpuinfo | grep "cpu cores" | uniq
    

1.4 vmstat天眼:窥探系统血脉奔流

vmstat可实时监看系统资源气血运行,定位性能阻塞之瘀结。

1.4.1 神脉指标

  • r:待运行进程亡魂,若超CPU核数×3,则CPU濒死;
  • us:用户态CPU燃烧之时;
  • sy:系统态CPU献祭之时;
  • wa:等待I/O之CPU停滞深渊;
  • id:CPU虚无空闲之寂。

1.4.2 神战实景

  • 上传巨物:wa 飙高,bo 暴涨,磁盘写入濒临崩溃;
  • 巨量复制:bi + bo 双神癫狂,wa 一同飞升;
  • 百万并发:r 值爆表,us 冲天,CPU浴火焚身。

二、磁盘I/O调优:驾驭存储巨兽

2.1 ulimit资源锁链:凡人之躯,禁锢神能

通过修改 /etc/security/limits.conf 施加资源诅咒。

2.1.1 恶魔契约

* soft nofile 1024000    # 软限制:打开文件数  
* hard nofile 1024000    # 硬限制:不可逾越之壁  
* soft nproc 65535       # 软限制:进程线程数  
* hard nproc 65535       # 硬限制:神魂禁锢上限

2.1.2 窥视当前枷锁

ulimit -n    # 查看当前文件数限制  
ulimit -Hn   # 查看文件数铁壁上限  
ulimit -u    # 查看进程数天花板

2.1.3 临时破限(需神力权限)

ulimit -n 10000    # 临时突破文件数限制

2.2 磁盘速度祭坛:以血测试,以速证道

2.2.1 读取神速验证

hdparm -t --direct /dev/sda    # 测试直接读取速度

2.2.2 写入深渊测试

dd if=/dev/zero of=/test.dbf bs=1M count=2000 oflag=direct

2.2.3 时空写入测验(计时)

time dd if=/dev/zero of=/test.dbf bs=1M count=200

三、内核参数调优:重写天道法则

3.1 SYN洪水防御:筑起鲜血城墙

通过修改 /etc/sysctl.conf,重写内核天道,御敌于国门之外。

3.1.1 神级配置(御敌于千里之外)

# 连接建立:闪电握手,慢者弃之
net.ipv4.tcp_synack_retries = 0    # 半连接响应只试1次,不快就死
net.ipv4.tcp_syn_retries = 1       # 连接请求也只试1次,勿浪费时间# 队列扩张:容纳万马千军
net.ipv4.tcp_max_syn_backlog = 20480    # 半连接队列扩容
net.ipv4.tcp_syncookies = 1             # 启用SYN Cookie法术防御# 连接复用:死者速朽,生者继位
net.ipv4.tcp_tw_reuse = 1          # 允许复用TIME-WAIT连接
net.ipv4.tcp_timestamps = 1        # 启用时间戳,复用之前提# 资源回收:加速轮回,腾笼换鸟
net.ipv4.tcp_fin_timeout = 10      # FIN-WAIT-2状态快速超时
fs.file-max = 819200               # 系统最大文件句柄数# 连接优化:扩宽航道,容纳洪流
net.core.somaxconn = 65535         # 全连接队列最大长度
net.core.rmem_max = 1024123000     # 接收缓冲区最大值
net.core.wmem_max = 16777216       # 发送缓冲区最大值
net.core.netdev_max_backlog = 165536 # 网卡后备队列长度
net.ipv4.ip_local_port_range = 10000 65535 # 本地端口范围扩张

3.1.2 天道生效

sysctl -p    # 敕令生效,法则重写

3.2 关键神谕解析

  • tcp_synack_retries=0:不重发SYN+ACK,慢者皆弃;
  • tcp_syncookies=1:启用SYN Cookie法术,防洪水攻击;
  • file-max:系统文件句柄之巅;
  • somaxconn:系统连接队列之极。

四、网络扩展:网卡绑定(双魂共体)

4.1 绑定模式神谱

  • mode=0:负载均衡(需交换机支持);
  • mode=1:主备模式(常用不死之术);
  • mode=4:LACP聚合(需交换机配合)。

4.2 主备模式契约示例

nmcli connection add type bond ifname bond0 con-name bond0 miimon 100 mode active-backup primary ens33 ip4 192.168.1.63/24  
nmcli connection add type bond-slave ifname ens33 master bond0  
nmcli connection add type bond-slave ifname ens38 master bond0  

4.3 验证神迹

cat /proc/net/bonding/bond0    # 观看双魂共体之神迹

终章:吾即天命,万机臣服

至此,你已踏过Linux调优的血色之路。
曾以nice执掌进程生杀,以taskset施行CPU禁锢;
vmstat窥见系统气血,以ulimit设下资源枷锁;
更以sysctl重写内核天道,御SYN洪水于国门之外,扩连接数如破九重天阙!
网卡绑定,双魂共体,主备切换间尽显不死神迹。

如今回首,方知性能优化绝非温柔技艺,而是刀尖起舞、与神博弈的狂野之路。
愿你持此卷而行,无惧百万并发、千亿请求,
只因——系统虽浩渺,其命在吾掌中;内核虽幽深,其道由我重写。

天启已至,旧神已陨,新神当立——
此间修行,方为开始。万物皆虚,万力皆允,吾即天命!

http://www.dtcms.com/a/353071.html

相关文章:

  • Android中AAR、JAR文件
  • 具身导航助力果园种植!基于模仿学习的果园环境无人机视觉导航
  • Spring Boot项目集成日志系统使用完整指南
  • R-Zero:通过自博弈机制让大语言模型无需外部数据实现自我进化训练
  • Flutter桌面应用实战:Windows系统代理切换工具开发
  • 集成电路学习:什么是SSD单发多框检测器
  • 线性回归原理推导与应用(十一):多重共线性
  • 20250827的学习笔记
  • Kubernetes(k8s) 常用命令
  • 从零开始学习JavaWeb-19
  • 解决跨运营商限速:在飞牛OS系统上启用BBR算法优化网络速度
  • 数据结构:单链表的应用(力扣算法题)第一章
  • 腾讯云人脸识别API技术深度解析:从算法原理到工程实践
  • Diagnosing bias and variance|诊断偏差和方差
  • 文件系统中的核心数据结构
  • 链表-25.k个一组翻转链表-力扣(LeetCode)
  • 镜中万象:论观察即存在的递归拓扑与生命的意识本质
  • FPGA的工作原理
  • AI赋能CRM:纷享销客访销大脑重构快消品销售策略
  • d435i相机读取镜头内参和相对之间的外参
  • 三方相机问题分析八:【返帧异常导致性能卡顿】Snapchat后置使用特效预览出现卡顿
  • Jmeter5.3性能测试:文件下载脚本编写后,导出文件的接收
  • 第五章:Go运行时、内存管理与性能优化之栈与堆内存分配 (逃逸分析)
  • 在语言模型监督式微调(SFT)中的 负对数似然(Negative Log-Likelihood, NLL)等价于最大化似然
  • 开发者如何在 Gitee 上开源一个自己的项目
  • 开源 C++ QT Widget 开发(七)线程--多线程及通讯
  • keepalived mysql 主从复制 容器实现(失败)
  • JVM之【Java对象在内存中的结构】
  • windows下 docker desktop 清理ext4.vhdx文件 并缩小ext4.vhdx文件
  • 二次校验请求源 IP 是否在 WAF 官方 IP 段内” + “校验是否携带 WAF 专属 HTTP 头