linux性能分析命令

性能监控

性能监控2

 

1、top

显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率 

 top

Js代码  linux性能分析命令
  1. 命令参数:  
  2. -b 批处理  
  3. -c 显示完整的命令  
  4. -I 忽略失效过程  
  5. -s 保密模式  
  6. -S 累积模式  
  7. -i<时间> 设置间隔时间  
  8. -u<用户名> 指定用户名  
  9. -p<进程号> 指定进程  
  10. -n<次数> 循环显示的次数  

 //显示 完整命令 

top -c

 

//设置信息更新次数

top -n 2

 

//显示指定的进程信息

top -p 574

 
linux性能分析命令
 

 

2、 free

       显示系统内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略

 free

Js代码  linux性能分析命令
  1. 命令参数:  
  2. -b  以Byte为单位显示内存使用情况。   
  3. -k  以KB为单位显示内存使用情况。   
  4. -m  以MB为单位显示内存使用情况。  
  5. -g   以GB为单位显示内存使用情况。   
  6. -o  不显示缓冲区调节列。   
  7. -s  <间隔秒数>  持续观察内存使用状况。   
  8. -t  显示内存总和列。   
  9. -V  显示版本信息。  

 

显示内存使用情况

free

free -g

free -m

 

周期性的查询内存使用信息

每10s 执行一次命令

free -s 10


linux性能分析命令
 

 

3、vmstat

       Virtual Meomory Statistics(虚拟内存统计)

       显示虚拟内存的信息

 

       可对操作系统的虚拟内存、进程、CPU活动进行监控。

       他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析

 

查看内存使用的详细信息

vmstat -s

 
linux性能分析命令
 

 

4、iostat

       I/O statistics(输入/输出统计)

       监视系统的磁盘操作活动

 

       它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。

       也不能对某个进程进行深入分析,仅对系统的整体情况进行分析

 

       iostat[参数][时间][次数]

 

Js代码  linux性能分析命令
  1. 定时显示所有信息  
  2. 每隔 2秒刷新显示,且显示3次  
  3. iostat 2 3  
  4.       
  5. 显示指定磁盘信息  
  6. iostat -d sda1    
  7.       
  8. 查看TPS和吞吐量信息  
  9. iostat -d -k 1 1  

 

5lsof

       列出当前系统打开的文件

       list open files

 

       用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具

       因为 lsof 需要访问核心内存和各种文件,所以需要root用户执行。

 

列出某个程序进程所打开的文件信息

lsof -c mysql

 -c 选项将会列出所有以mysql这个进程开头的程序的文件,其实你也可以写成 lsof | grep mysql, 但是第一种方法明显比第二种方法要少打几个字符了

 

lsof  | grep deleted

获得一个已经被删除但是仍然被应用程序占用的文件列表

 

 

Java代码  linux性能分析命令
  1. //查看谁正在使用某个文件,也就是说查找某个文件相关的进程  
  2. lsof /bin/bash  
  3.    
  4. //递归查看某个目录的文件信息  
  5. lsof test/test3  
  6.    
  7. //列出某个用户打开的文件信息  
  8. lsof -u username  
  9.    
  10.  //列出多个进程多个打开的文件信息  
  11. lsof -c mysql -c apache  
  12.    
  13. //列出某个用户以及某个进程所打开的文件信息  
  14. lsof  -u test -c mysql   
  15.    
  16. //列出除了某个用户外的被打开的文件信息  
  17. lsof -u ^root  
  18. //^这个符号在用户名之前,将会把是root用户打开的进程不让显示  
  19.    
  20. //通过某个进程号显示该进行打开的文件  
  21. lsof -p 1  
  22.    
  23. //列出多个进程号对应的文件信息  
  24. lsof -p 1,2,3  
  25.    
  26. //列出除了某个进程号,其他进程号所打开的文件信息  
  27. lsof -p ^1  
  28.   
  29. //列出谁在使用某个端口  
  30. lsof -i :3306  
  31.    
  32. //某个用户组所打开的文件信息  
  33. lsof -g 5555