首页   快速返回

linux性能监控常用命令
文章分类 linux
发布时间 2018-09-07 修改时间 2018-09-21
常用命令 
uptime free netstat ps top vmstat iostat pmap mpstat watch  lsof 


uptime

12:38:15 up 45 days, 21:59,  2 users,  load average: 0.00, 0.01, 0.05
平均load 最近 1分钟 5分钟 15分钟


free 

free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        340M        143M        440K        1.3G        1.3G
Swap:            0B          0B          0B


netstat 

netstat -ae|grep "TIME_WAIT"

netstat -anlp|grep ":80"
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      16775/java 


-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态
-p 显示建立相关链接的程序名



各种连接状态数统计
netstat -nat|awk  '{print $6}'|sort|uniq -c|sort -rn


ps 

显示10个消耗CPU最多的进程:
ps aux|sort -rnk +3|head -10

显示10个消耗内存最多的进程:
ps aux|sort -rnk +4|head -10

sort 命令 
r 逆向排序(降序) 
n 按数值排序
k 按第k列进行排序 第一列为1

cat num.txt|sort -rk 1
cat num.txt|sort -rnk 1




按内存升序排列
ps aux --sort=+rss

按内存降序排列
ps aux --sort=-rss

按cpu升序排列
ps aux --sort=+%cpu
 
按cpu降序排列
ps aux --sort=-%cpu


top
实时显示系统中各个进程的占用情况
系统整体的统计信息:任务、CPU、内存、交换区等信息

vmstat

监控 虚拟内存、IO、CPU 等

vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  0      0 137732 139344 1260852    0    0     0    27    3    1  0  0 99  0  0
 
r 正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。

swpd:已经使用的交换内存(kb)
free:空闲的物理内存(kb)
buff:用作缓冲区的内存数(kb)
cache:用作高速缓存的内存数(kb)
si、so 两列,表示磁盘和内存之间交换的频繁程度。

us:用户CPU时间。
sy:系统CPU时间。
id:空闲CPU时间。
wa:等等I/O CPU时间。

system  in 中断次数 cs 上下文切换次数
st stolen 被其他虚拟机使用的cpu



iostat 监控磁盘I/O
没有iostat 命令的 执行 yum install sysstat  安装

-x 显示和io相关的扩展数据
iostat -d -k 1 10         #查看TPS和吞吐量信息(磁盘读写速度单位为KB)
iostat -d -m 2            #查看TPS和吞吐量信息(磁盘读写速度单位为MB)
iostat -d -x -k 1 10      #查看设备使用率(%util)、响应时间(await) 
iostat -c 1 10            #查看cpu状态



pmap pid
显示进程所用的内存情况

mpstat
Multiprocessor Statistics  查看所有CPU信息

watch 实时监控  周期性指行指定命令

watch -n 1 "/sbin/ifconfig eth0|grep bytes"

实时显示网络流量 一秒钟刷新一次




lsof

查看占用80端口的进程 
lsof -n -P| grep ":80" | grep LISTEN 


其他命令

查看物理CPU的个数
cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
查看逻辑CPU的个数
cat /proc/cpuinfo |grep "processor"|wc -l
查看CPU是几核
#cat /proc/cpuinfo |grep "cores"|uniq

查看硬盘信息
fdisk -l


进程莫名其妙不见了 查看 dmesg
sudo dmesg|grep -i kill|less
一般是内存用得太多 被 操作系统干掉了 
OOM killer(Out-Of-Memory killer)

上一篇     下一篇
linux系统管理常用命令实战

jdk代理与cglib代理的区别

几个经济学段子

如何写好商业计划书要点

招聘信息的另类解读

助你成功的十五种能力