• Linux 系统监控与性能调优


    在使用 Linux 系统时,监控系统状态和性能是维护系统稳定运行的重要环节。通过系统监控工具,我们可以实时了解系统的资源使用情况,从而进行有效的性能调优。本文将介绍一些常用的系统监控工具及其使用方法,并提供一些性能调优的基本技巧。

    一、系统监控工具

    1. tophtop

    top 命令是一个实时任务管理器,可以显示系统中正在运行的进程及其资源使用情况。htoptop 的增强版本,具有更加友好的用户界面和更多的功能。

    top
    htop
    
    • CPU 使用率:显示各个 CPU 核心的使用情况。
    • 内存使用率:显示物理内存和交换内存的使用情况。
    • 进程信息:显示每个进程的 PID、用户、CPU 和内存使用情况等。
    2. vmstat

    vmstat 命令可以显示虚拟内存、进程、CPU 活动等系统性能信息。

    vmstat 2 5
    
    • procs:进程信息,r 表示运行队列的进程数,b 表示不可中断睡眠状态的进程数。
    • memory:内存信息,swpd 表示交换内存的使用情况,free 表示空闲内存,buff 和 cache 表示缓存使用情况。
    • swap:交换信息,si 和 so 表示从交换区读写数据的速率。
    • io:IO 信息,bi 和 bo 表示块设备的读写速率。
    • system:系统信息,in 表示每秒的中断次数,cs 表示每秒的上下文切换次数。
    • cpu:CPU 信息,us 表示用户态 CPU 使用率,sy 表示系统态 CPU 使用率,id 表示空闲 CPU 使用率,wa 表示 IO 等待 CPU 使用率。
    3. iostat

    iostat 命令可以显示 CPU 和磁盘 IO 的统计信息。

    iostat -x 2 5
    
    • %user:用户态 CPU 使用率。
    • %system:系统态 CPU 使用率。
    • %iowait:IO 等待时间的百分比。
    • %idle:空闲时间的百分比。
    • Device:设备名称。
    • r/sw/s:每秒读写请求数。
    • rkB/swkB/s:每秒读写数据量(KB)。
    4. netstat

    netstat 命令用于显示网络连接、路由表、接口状态等网络信息。

    netstat -tuln
    
    • -t:显示 TCP 连接。
    • -u:显示 UDP 连接。
    • -l:显示监听的端口。
    • -n:显示数字地址和端口。
    5. sar

    sar 命令是一个强大的系统性能监控工具,可以显示 CPU、内存、IO、网络等各方面的统计信息。

    sar -u 2 5
    
    • -u:显示 CPU 使用情况。
    • -r:显示内存使用情况。
    • -n DEV:显示网络设备的统计信息。

    二、性能调优技巧

    1. 优化内存使用
    • 释放缓存:定期释放缓存可以避免内存泄漏。
      echo 3 > /proc/sys/vm/drop_caches
      
    • 调整交换分区:合理设置交换分区的大小和使用策略。
      swapon -s
      sysctl vm.swappiness=10
      
    2. 优化 CPU 使用
    • 进程优先级调整:使用 nicerenice 命令调整进程的优先级。
      nice -n 10 command
      renice -n 10 -p PID
      
    • 多核优化:确保多线程应用能够充分利用多核 CPU。
    3. 优化磁盘 IO
    • 使用 RAID:通过 RAID 技术提升磁盘 IO 性能。
    • 调整 IO 调度算法:选择适合的 IO 调度算法,如 CFQ、deadline、noop。
      echo deadline > /sys/block/sda/queue/scheduler
      
    4. 网络性能优化
    • 调整网络参数:通过修改内核参数优化网络性能。
      sysctl -w net.core.somaxconn=1024
      sysctl -w net.ipv4.tcp_tw_reuse=1
      
    • 使用高效的网络协议:如使用 HTTP/2 代替 HTTP/1.1。

    希望能够帮助大家更好地掌握 Linux 系统的监控与性能调优技巧。

  • 相关阅读:
    城市网吧视频智能监控方案,实现视频远程集中监控
    力扣 剑指 Offer II 114. 外星文字典
    3-docker安装centos7
    前端经典布局
    Rt-Thread 5-调度
    Vue 封装一个函数,小球原始高度不固定,弹起比例不固定、计算谈几次后,高度低于1米
    《银行法律法规》三、银行管理——5、风险管理
    [django框架2]ORM进阶知识
    stm32F407-------LCD
    Leetcode刷题Day1----数组
  • 原文地址:https://blog.csdn.net/muxiuyulin871/article/details/139728516