查看Linux系统状态常用命令

回复 收藏
本帖最后由 elvis 于 2016-4-26 10:57 编辑

1.查看占用最多内存的进程(前5个占用最多内存的进程)
ps -eo rss,vsz,pmem,pcpu,vsize,comm | sort -k 1 -r -n |head
解释:
-e #显示所有进程
-o #定制显示信息的格式
rss #进程占用RAM(内存)的大小(Kbytes字节)
vsize #进程占用的虚拟内存的大小(Kbytes字节)
comm #进程名
2.查看某个进程占用内存的大小
#例:redis-server进程占用的内存大小
ps -ylC redis-server --sort:rss
ps --no-headers -o rss -C redis-server

3.查看某个进程的所有子进程共占用的内存大小(每个子进程占用的内存相加)
#例: php-fpm进程及php-fpm所有的子进程使用的内存
ps --no-headers -o rss -C php-fpm |awk '{ sum+=$1 } END { print sum }'
#可以过滤下只查看点关键些的东东
php_pid=`ps --no-headers -o pid,rss -C php-fpm |sort -rn -k 2 |head -n 1| cut -d ' ' -f 1` ; lsof -p $php_pid |grep -e DIR -e IPv4
#更直观显示进程占用内存的大小,GB为单位
ps --no-headers -o rss -C php-fpm |awk '{ sum+=$1 } END { print (sum/1024/1024,"GB") }'


4. 查看指定的某个进程
例: php-fpm进程
ps -f -C php-fpm
  
5.某进程CPU利用率
例: php-fpm进程的CPU利用率, 把子进程的利用率也加上
ps --no-headers -o pcpu -C php-fpm |awk '{ sum+=$1 } END { print (sum"%")}'


6. 根据CPU的使用率来排序
ps aux --sort=-%cpu | awk 'NR==1{print $2,$3,$11}NR>1{if($3!=0.0) print $2,$3,$11}'


7.查看占用内存最多的进程具体的操作些什么
#例: php-fpm进程
php_pid=`ps --no-headers -o pid,rss -C php-fpm |sort -rn -k 2 |head -n 1| cut -d ' ' -f 1` ; lsof -p $php_pid


8.查看占用CPU最多的进程具体的操作些什么
#例: php-fpm进程
php_pid=`ps --no-headers -o pid,pcpu -C php-fpm |sort -rn -k 2|head -n 1| cut -d ' ' -f 1` ; lsof -p $php_pid


9.进程占用了CPU多个核
#例:php-fpm进程
echo -e "核数\t进程数(php-fpm)";ps --no-headers -o psr -C php-fpm |sort|uniq -c |awk '{print ""$2,"\t\t",$1}'


10.当前多少端口被打开处于活动状态
ss -ant|wc -l
#查看http的time-wait的连接
ss -o state time-wait 'sport = :http'
#查看http建立连接
ss -o state established 'sport = :http'


11.去掉重复行
sort -u
  
12.IP地址排序
#ip地址排序(从小到大)
sort -t"." -k1,1n  -k2,2n  -k3,3n  -k4,4n
#ip地址排序(从大到小)
sort -t"." -k1,1nr -k2,2nr -k3,3nr -k4,4nr


13.查看linux内核最大打开文件数
ulimit -a | grep "open files"
ulimit -n

14.进程打开文件数
lsof |wc -l
  
15.搜索活动的连接
lsof -P -i @192.168.0.161
  
16.相找监听端口的进程
#例: 11211端口
lsof -P -i :11211
或者使用ss
ss -lp src :11211
还可以使用lsof来查看网络连接状态
#例: 显示ipv4服务及监听端情况
lsof -Pnl +M -i4
  
17.更直观的显示父子进程(树状结构显示进程)
ps -axjf

18.实时查看系统状态的工具
htop
atop
nmon
  
19.查看文件的状态
#例: /data/data20151125_4.dat 这个文件的状态
stat /data/data20151125_4.dat

20.获取进程的pid
#例: php-fpm
pidof php-fpm
  
21.查看网站URL实访问情况
#例: /open/weixin/test.php
tcpdump -w - port 80 |strings|grep "/open/weixin/test.php"


22.后端服务器查看时实用户的访问IP
tcpdump -w - port 80 |strings |grep X-Forwarded-For |awk '{print $2}'
  
23.用户使用的CDN节点信息
tcpdump -w - port 80 |strings |grep X-Via
tcpdump -w - port 80 |strings |grep Cdn-Src-Ip


24.时实用户访问的设备
tcpdump -w - port 80 |strings |grep User-Agent
#抓包,目标端口80,并且目标IP不是10.0.0.100的
tcpdump -nn -t -i eth0 dst port 80 and dst host ! 10.0.0.100


25.删除15天前的文件
#例: /data/tmp/
find /data/tmp/ -mtime +15 -type f | xargs rm -rf


26.时实查看目录下文件大小的变化
watch -n 1 -d 'ls -lS /data/logs/nginx'
#时实查看php-fpm进程
watch -n 1 -d "ps -o pmem,rss,pcpu,args  -C php-fpm "


27.跟踪进程
strace -p pid号


28.使用awk判断查看Nginx日志502的日志数据
cat /data/logs/nginx/www.linuxhub.org.log |awk '{ if ($9 = 502) print $0}'





2016-04-26 10:55 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: