Linux 服务器性能优化:性能监控,系统性能调优,进程优先级,内核升级全解析

发布于:2025-08-01 ⋅ 阅读:(22) ⋅ 点赞:(0)

Linux 服务器性能优化:性能监控,系统性能调优,进程优先级,内核升级全解析

一、影响Linux服务器性能的核心因素及监控方式

影响服务器性能的关键因素主要包括CPU、内存、磁盘I/O、网络,各因素的监控命令及指标如下:

1. CPU
  • 基础信息查看

    • cat /proc/cpuinfo:查看CPU详细信息(核心数、型号等)。
    • lscpu:以更直观的格式展示CPU架构信息。
  • 负载监控

  • uptime:查看1分钟、5分钟、15分钟内的CPU平均负载。

    [root@ etc]# uptime
     18:22:58 up  7:50,  2 users,  load average: 0.01, 0.02, 0.05
    
    
  • 全面性能监控(vmstat)
    命令:vmstat(输出系统整体性能统计),关键指标包括:

    请添加图片描述

    • procs
      • r:等待运行的进程数(数值过高说明CPU繁忙)。
      • b:非中断休眠状态的进程数(通常与I/O相关)。
    • memory
      • swpd:虚拟内存使用量。
      • free:空闲内存。
      • buff:缓冲(临时存储即将写入磁盘的数据)。
      • cache:缓存(临时存储从磁盘读取的数据)。
    • swap
      • si:从磁盘交换到内存的页数量(频繁交换说明内存不足)。
      • so:从内存交换到磁盘的页数量。
    • IO
      • bi:写入块设备的块数。
      • bo:从块设备读取的块数。
    • system
      • in:每秒中断数。
      • cs:每秒上下文切换次数(过高可能导致CPU开销大)。
    • cpu
      • us:用户进程占用CPU的百分比。
      • sy:内核进程占用CPU的百分比。
      • id:CPU空闲时间百分比(过低说明CPU负载高)。
      • wa:I/O等待占用CPU的百分比(过高说明磁盘I/O瓶颈)。
      • st:等待I/O时消耗的CPU时间(通常与虚拟化相关)。
2. 内存
  • 监控命令
    • top:实时查看进程内存占用(按M键按内存使用率排序)。
    • free -m(或-g):以MB(或GB)为单位显示内存使用情况(总内存、已用、空闲、缓冲/缓存)。

请添加图片描述

3. 磁盘I/O
  • 监控命令(需安装sysstat工具)
    • iostat -d:查看磁盘I/O统计,关键指标:
      • tps:每秒发送到磁盘的I/O请求数。
      • kB_read/s:每秒读取的数据量(KB)。
      • kB_wrtn/s:每秒写入的数据量(KB)。
      • kB_read:累计读取的数据总量。
      • kB_wrtn:累计写入的数据总量。

请添加图片描述

4. 网络
  • 基础监控命令

    • ping:测试网络连通性。
    • ss -tnl:查看TCP监听端口(类似netstat,更高效)。

    请添加图片描述

    • netstat -tulnp:查看TCP/UDP端口及对应进程(t:TCP,u:UDP,l:监听,n:数字格式,p:进程)。

请添加图片描述

二、系统性能调优(基于tuned工具)

tuned通过静态/动态调优调整系统设置,适配不同场景:

  • 核心命令

    • tuned-adm list:列出所有可用调优配置文件。
    • tuned-adm active:查看当前激活的配置文件。
    • tuned-adm profile <配置文件>:切换到指定配置文件。
    • tuned-adm recommend:推荐适合当前系统的配置文件。
    • tuned-adm off:关闭tuned调优。
  • 常用配置文件及作用

    • balanced:平衡节能与性能(默认推荐)。
    • desktop:优化交互式应用响应速度(基于balanced)。
    • throughput-performance:最大化系统吞吐量。
    • latency-performance:牺牲部分性能换取低延迟。
    • network-latency:低网络延迟(基于latency-performance)。
    • network-throughput:最大化网络吞吐量(基于throughput-performance)。
    • powersave:优先节能。
    • virtual-guest:虚拟机(客户机)性能优化。
    • virtual-host:虚拟化主机性能优化。

三、进程优先级调整(nice值)

  • nice值范围:-20(最高优先级)~19(最低优先级),默认值为0(继承父进程)。

    • 优先级:nice值越低,优先级越高(越不易让出CPU);反之则越低。
  • 权限限制

    • 普通用户:仅能提高自己进程的nice值(降低优先级),无法修改其他用户进程。
    • root用户:可任意调整所有进程的nice值(提高或降低优先级)。
  • 相关命令

    • 查看进程nice值(按nice降序排序):ps axo pid,comm,nice --sort=-nice
    • 查看指定进程的nice值:ps -o pid,comm,nice <进程ID>
    • 调整进程优先级:renice -n <nice值> <进程ID>(如renice -n 19 1234降低进程1234的优先级)。

四、Linux内核优化

1. 内核版本管理
  • 升级内核rpm -ivh kernel-<版本>.rpm(需对应系统架构的内核包)。
  • 查看内核版本uname -r(如3.10.0-957.el7.x86_64)。
  • 版本号组成:主版本号.次版本号.末版本号-修订号(次版本号:偶数为稳定版,奇数为开发版)。
2. 内核模块管理
  • 查看加载的模块lsmod | grep <模块名>(如lsmod | grep xfs)。
  • 查看模块信息modinfo <模块名>(如modinfo xfs)。
  • 加载模块modprobe <模块名>(如modprobe ext4)。
  • 卸载模块modprobe -r <模块名>(如modprobe -r ext4)。
3. 内核参数配置(sysctl)
  • 开启IP转发(用于路由/网关):

    1. 编辑配置文件:vim /etc/sysctl.conf,添加net.ipv4.ip_forward = 1
    2. 生效配置:sysctl -p /etc/sysctl.conf
  • 禁止ICMP(禁ping)

    1. 编辑配置文件:vim /etc/sysctl.conf,添加net.ipv4.icmp_echo_ignore_all = 1
  1. 生效配置:sysctl -p /etc/sysctl.conf
  • 禁止ICMP(禁ping)
    1. 编辑配置文件:vim /etc/sysctl.conf,添加net.ipv4.icmp_echo_ignore_all = 1
    2. 生效配置:sysctl -p /etc/sysctl.conf

网站公告

今日签到

点亮在社区的每一天
去签到