linux性能监控

简介:

缘起

某个线上系统平时非常稳定,当大量更新数据时,系统的服务就会严重超时。问题存在了一段时间,基本猜测系统超时和大量写入数据有关,但却无法给出确切的解释。最近花了几天时间,深入研究这个问题。首先是需要给出问题原因的确切解释。因此,需要监控服务不正常期间linux系统的各种性能。

Linux性能检测工具

top -- 查看进程活动状态以及一些系统状况,常用于查看CPU、内存异常的进程PID。
free -- 查看系统整体内存状况。
vmstat  -- 查看系统状态、硬件和系统信息等。查看CPU使用情况、上下文切换情况、进程数(是否过多?)。
iostat -- 查看CPU 负载,硬盘状况。常用于查看IO状况(查看CPU的工具很多)
sar -- 综合工具,查看系统状况。这个太强大了,但自己一般只用类监控网络状况(sar -n DEV|EDEV)
mpstat -- 查看多处理器状况,类似vmstat,适用于多CPU场景(还有非多CPU的服务器不?)
netstat -- 查看网络状况。常用于:产看进程监听的端口、各个端口的recv|send队列状况(是否过载)、收发包的简单统计
iptraf -- 实时网络状况监测。
tcpdump -- 抓取网络数据包,详细分析。强大的网络包分析工具。
tcptrace -- 数据包分析工具。
netperf -- 网络带宽工具。
dstat  -- 综合工具,综合了 vmstat, iostat, ifstat, netstat 等多个信息。

监控脚本

常用工具如上,一般情况下,直接启动命令看输出。但有时需要监控某个特定时间系统的运行状况,简单办法就是定时启动命令,并将命令输入打印到log, 或者使用诸如sar这类强大的性能监视工具。

贴几个监控工具的包装脚本,结合crontab即可实现定时启动、收集一定时间间隔的性能数据。

iostat:

复制代码
#!/bin/bash

echo "$0 Start... "`date`
echo 

iostat -dmxt 1 $1  

echo "$0 Finish. "`date`
复制代码

mpstat:

复制代码
#!/bin/bash

echo "$0 Start... "`date`
echo 

mpstat -P ALL 1 $1

echo
echo "$0 Finish. "`date`
复制代码

netstat:

复制代码
#!/bin/bash

NUM=5000000
if [[ $# -gt 0 ]]
then
        NUM=$1
fi

echo "$0 Start test...`date`"
echo 

#for i in `seq 0 $NUM`   # if NUM is large, waste much resource.
#for i in {1..100}    # {1..100}  must be constant

i=0
while [[ i -lt $NUM ]]
do
    echo `date`
        netstat -anp -u    # udp only  -t -- tcp
    
    echo 
    sleep 1

        ((i++))
done

echo "$0 Finish test.`date`"
复制代码
本文转自 zhenjing 博客园博客,原文链接:  http://www.cnblogs.com/zhenjing/archive/2012/06/17/linux_monitor.html   ,如需转载请自行联系原作者
相关文章
|
10月前
|
缓存 监控 关系型数据库
《Linux 简易速速上手小册》第10章: 性能监控与优化(2024 最新版)
《Linux 简易速速上手小册》第10章: 性能监控与优化(2024 最新版)
77 0
|
7月前
|
传感器 缓存 Prometheus
在Linux中,如何进行硬件性能监控?
在Linux中,如何进行硬件性能监控?
|
7月前
|
缓存 Prometheus 监控
在Linux中,如何进行应用性能监控?
在Linux中,如何进行应用性能监控?
|
7月前
|
Prometheus 监控 Ubuntu
在Linux中,如何进行磁盘性能监控?
在Linux中,如何进行磁盘性能监控?
|
7月前
|
运维 Prometheus 监控
在Linux中,如何进行系统性能监控?
在Linux中,如何进行系统性能监控?
|
7月前
|
存储 监控 Ubuntu
完全交互式!易于使用的 Linux 性能监控工具
完全交互式!易于使用的 Linux 性能监控工具
|
9月前
|
运维 监控 网络协议
Linux 下的性能监控与分析技巧
在Linux环境中,命令行工具助力服务器管理和故障排查。通过示例展示如何监控网络、TCP连接、CPU及内存使用。例如,用`netstat`结合`awk`查TOP 20高频率IP访问80端口,识别DDoS迹象;`netstat -nat`统计TCP状态;`ps -aux`排序列出CPU和内存消耗大的进程;`find`加`tar`查找并压缩`.conf`文件。掌握这些命令提升运维效率。
56 1
|
9月前
|
存储 监控 Linux
性能监控之Telegraf+InfluxDB+Grafana linux服务器实时监控
【6月更文挑战11天】标题性能监控之 Java Metrics 度量包性能监控之Telegraf+InfluxDB+Grafana linux服务器实时监控
155 2
|
9月前
|
缓存 监控 Linux
Linux系统性能监控详解
Linux系统性能监控详解
68 1
|
10月前
|
运维 监控 Linux
提升系统稳定性:Linux服务器性能监控与故障排查实践深入理解与实践:持续集成在软件测试中的应用
【5月更文挑战第27天】在互联网服务日益增长的今天,保障Linux服务器的性能和稳定性对于企业运维至关重要。本文将详细探讨Linux服务器性能监控的工具选择、故障排查流程以及优化策略,旨在帮助运维人员快速定位问题并提升系统的整体运行效率。通过实际案例分析,我们将展示如何利用系统资源监控、日志分析和性能调优等手段,有效预防和解决服务器性能瓶颈。