常用shell 命令整理

1.查看内存从大到小排列

ps -e -o "%C : %p : %z : %a"|sort -k5 -nr

分析:

-e 显示进程

-o 按用户自定义格式显示

%C cpu

%p 父进程id

%z 虚拟内存

%a

sort 排序命令

-k5 按第5列排序

-nr 比较数字 从大大小

-n  比较数字 从小到大

实例 1.1: 按内存排序从大到小,显示前五行

1 [devtac@test_1 ~]$ ps -e -o "%C : %p : %z : %a"|sort -k5 -nr |head -5
2  0.0 :  2045 : 1139104 : /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/test_1.smartpay.com.cn.err --pid-file=/usr/local/mysql/data/test_1.smartpay.com.cn.pid
3  0.0 :  2211 : 1033640 : /usr/sbin/console-kit-daemon --no-daemon
4  0.0 :  2347 : 427884 : /usr/bin/pulseaudio --start --log-target=syslog
5  0.0 :  2326 : 405280 : /usr/libexec/gdm-simple-greeter
6  0.0 :  1886 : 385704 : automount --pid-file /var/run/autofs.pid

实例 1.2 按进程id 从小到大

[devtac@test_1 ~]$ ps -e -o "%C : %p : %z : %a"|sort -k3 -n |head -5
%CPU :   PID :    VSZ : COMMAND
 0.0 :     1 :  19356 : /sbin/init
 0.0 :     2 :      0 : [kthreadd]
 0.0 :     3 :      0 : [migration/0]
 0.0 :     4 :      0 : [ksoftirqd/0]

实例 1.3 按cpu 利用率 从大到小 

[devtac@test_1 ~]$ ps -e -o "%C : %p : %z : %a"|sort -k1 -nr | head -5
 0.1 :  3157 : 218380 : smbd -D
%CPU :   PID :    VSZ : COMMAND
 0.0 :     9 :      0 : [ksoftirqd/1]
 0.0 :    85 :      0 : [kstriped]
 0.0 :     8 :      0 : [migration/1]
View Code

 2 查看http的并发请求数及其连接状态

 

[root@test_1 Action]# netstat -n | awk /^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}
ESTABLISHED 3
[root@test_1 Action]# 
$NF 这个值取得是ESTABLISHED 没看懂。现在懂了
[root@test_1 Action]# netstat -n | awk /^tcp/ {print $NF}
ESTABLISHED
ESTABLISHED
ESTABLISHED
[root@test_1 Action]# netstat -n | awk /^tcp/ {print NF}
6
6
6
[root@test_1 Action]# 

NF 是浏览记录的域的个数,而$NF 则是取得那一个最后一个域。

awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}‘
含义就是过了出tcp 开头的,然后以最后一个域分类,并计算每个分类有多少个,

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。