插件窝 干货文章 如何使用Linux进行系统性能调优和监控

如何使用Linux进行系统性能调优和监控

bash 监控 工具 使用 515    来源:    2025-04-13

Linux系统性能调优与监控指南

一、性能监控工具

1. 基础监控工具

  • top/htop:实时监控系统进程和资源使用情况

    top
    htop  # 需要安装,提供更友好的界面
    
  • vmstat:监控系统内存、进程、CPU活动等

    vmstat 1  # 每秒刷新一次
    
  • iostat:监控磁盘I/O使用情况

    iostat -x 1  # 显示扩展统计,每秒刷新
    
  • free:查看内存使用情况

    free -h  # 人类可读格式
    
  • sar:系统活动报告工具(sysstat包)

    sar -u 1 3  # CPU使用率,每秒1次共3次
    sar -r     # 内存使用情况
    

2. 高级监控工具

  • dstat:全能系统资源统计工具

    dstat -cdngy  # 显示CPU、磁盘、网络、内存等
    
  • netstat/ss:网络连接监控

    netstat -tulnp
    ss -tulnp      # 更快的替代品
    
  • iftop:实时网络带宽监控

    iftop -i eth0  # 监控指定网卡
    
  • iotop:监控磁盘I/O按进程

    iotop
    
  • nmon:全面的系统监控工具

    nmon
    

二、性能调优方法

1. CPU调优

  • 查看CPU信息:

    lscpu
    cat /proc/cpuinfo
    
  • 调整进程优先级:

    nice -n 10 command  # 启动低优先级进程
    renice 10 -p PID    # 调整运行中进程优先级
    
  • CPU频率调节(适用于笔记本/省电模式):

    cpupower frequency-info
    cpupower frequency-set -g performance
    

2. 内存调优

  • 查看内存信息:

    cat /proc/meminfo
    
  • 调整swappiness(减少交换分区使用):

    echo 10 > /proc/sys/vm/swappiness  # 临时
    # 永久生效:在/etc/sysctl.conf中添加 vm.swappiness=10
    
  • 清理缓存:

    echo 3 > /proc/sys/vm/drop_caches  # 1-清页缓存,2-清inode和目录项,3-清所有
    

3. 磁盘I/O调优

  • 查看磁盘信息:

    lsblk
    fdisk -l
    
  • I/O调度器调整:

    # 查看当前调度器
    cat /sys/block/sda/queue/scheduler
    
    # 临时修改为deadline
    echo deadline > /sys/block/sda/queue/scheduler
    
    # 永久修改:在grub配置中添加 elevator=deadline
    
  • 文件系统优化:

    • 对于ext4:tune2fs -o journal_data_writeback /dev/sda1
    • 挂载选项优化:noatime,nodiratime,data=writeback

4. 网络调优

  • 查看网络配置:

    ethtool eth0
    
  • 调整TCP参数(在/etc/sysctl.conf中):

    net.ipv4.tcp_fin_timeout = 30
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 1
    net.core.somaxconn = 4096
    net.ipv4.tcp_max_syn_backlog = 8192
    
  • 应用修改:

    sysctl -p
    

三、长期监控与日志分析

  • 配置sar长期监控

    # 编辑/etc/default/sysstat,设置ENABLED="true"
    systemctl enable sysstat
    systemctl start sysstat
    
  • 使用sysdig进行高级监控

    sysdig -c topprocs_cpu  # 查看CPU使用最高的进程
    sysdig -c topprocs_net   # 查看网络使用最高的进程
    
  • 日志分析工具

    • journalctl:查看系统日志
    • logwatch:日志摘要报告
    • goaccess:Web日志分析

四、性能基准测试

  • CPU测试:

    sysbench cpu --cpu-max-prime=20000 run
    
  • 内存测试:

    sysbench memory --memory-block-size=1K --memory-total-size=10G run
    
  • 磁盘I/O测试:

    sysbench fileio --file-total-size=5G prepare
    sysbench fileio --file-total-size=5G --file-test-mode=rndrw run
    sysbench fileio --file-total-size=5G cleanup
    

五、自动化监控方案

  1. Prometheus + Grafana:企业级监控解决方案
  2. Zabbix:功能全面的监控系统
  3. Nagios:经典监控工具
  4. Telegraf + InfluxDB + Grafana:现代监控栈

通过以上工具和方法的组合使用,您可以全面了解Linux系统的性能状况,并进行有针对性的调优,确保系统运行在最佳状态。