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 # 内存使用情况
dstat:全能系统资源统计工具
dstat -cdngy # 显示CPU、磁盘、网络、内存等
netstat/ss:网络连接监控
netstat -tulnp
ss -tulnp # 更快的替代品
iftop:实时网络带宽监控
iftop -i eth0 # 监控指定网卡
iotop:监控磁盘I/O按进程
iotop
nmon:全面的系统监控工具
nmon
查看CPU信息:
lscpu
cat /proc/cpuinfo
调整进程优先级:
nice -n 10 command # 启动低优先级进程
renice 10 -p PID # 调整运行中进程优先级
CPU频率调节(适用于笔记本/省电模式):
cpupower frequency-info
cpupower frequency-set -g performance
查看内存信息:
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-清所有
查看磁盘信息:
lsblk
fdisk -l
I/O调度器调整:
# 查看当前调度器
cat /sys/block/sda/queue/scheduler
# 临时修改为deadline
echo deadline > /sys/block/sda/queue/scheduler
# 永久修改:在grub配置中添加 elevator=deadline
文件系统优化:
tune2fs -o journal_data_writeback /dev/sda1
noatime,nodiratime,data=writeback
查看网络配置:
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
通过以上工具和方法的组合使用,您可以全面了解Linux系统的性能状况,并进行有针对性的调优,确保系统运行在最佳状态。