Linux
系统中,有很多用于快速处理数据的工具如grep awk cut sort uniq sort,他们非常非常地好用。
如果你熟练掌握他们的使用技巧,他们则可以帮你快速定位问题。
最近碰到一个案例。
一个项目上数据库系统,
ORACLE
,运行在
LINUX
上,报进程数满了。
看到这类问题,您不需要去深究什么警告日志,数据库中进程状况啊等等。马上
在操作系统层面上看看有哪些服务器连接到这台数据库服务器上。
(墙内链接: http://mikixiyou.iteye.com/blog/1538828)
这里使用的第一个工具就netstat
。他是系统管理工具,还不能算shell
工具。
通过netstat -ntu
,找出通过tcp
和udp
连接服务器的IP
地址列表。
[root@webdb4 ~]# netstat -ntu|more
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.15.209:1521 192.168.15.65:37781 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37783 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37777 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37779 ESTABLISHED
tcp 0 0 10.100.15.209:49895 10.100.15.207:26069 ESTABLISHED
tcp 0 0 10.100.15.209:49898 10.100.15.213:6092 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37785 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.181:21869 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.181:21870 ESTABLISHED
tcp 1 0 192.168.15.209:26781 192.168.15.89:1521 CLOSE_WAIT
tcp 0 0 192.168.15.209:10332 192.168.15.211:6200 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.181:21875 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37766 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.181:21874 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37761 ESTABLISHED
可以看到第五列是所有的外部IP
信息。根据这些信息,找出数目那个IP
是什么?或者根据IP
数目做一个排序。
第一步,使用grep
将tcp
过滤出来,也可以使用egrep
过滤多个条件
netstat -ntu|egrep 'tcp|udp'
netstat -ntu|grep 'tcp'|awk '{print $5}'
[root@webdb4 ~]# netstat -ntu|grep 'tcp'|awk '{print $5}'|more
第三步,使用cut
将列信息以":"
为分隔符再分成不同的列,
显示第一个field
netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1
netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort
sort
有很多选项,可以man sort
去看。
第五步,使用uniq
将已经排序好的字段计算不同值的数目
netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c
uniq -c
根据相近的值计算和,因此之前需要排序好。
第六步,使用sort -n
数字升序方式再排一下结果
netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c|sort -n
netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c|sort -nr
第七步,使用head
或tail
取头部几行或尾部几行
netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c|sort -n|tail -10
netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c|sort -nr|head -10
[root@webdb4 ~]# netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c|sort -n|tail -10
[root@webdb4 ~]# netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c|sort -nr|head -10
这个结果中,我们可以看出各个服务器在数据库服务器上的网络连接数。
根据连接数,发现特别大的,肯定有问题。通常都应用服务端打开连接不关闭,或者出现异常无法关闭。
分享到:
相关推荐
Linux笔记——命令:Sort,uniq,join,cut,paste,split Linux笔记——shell基础:变量&本地变量&位置变量&特定变量参数 Linux笔记——条件测试test Linux笔记——控制流 Linux笔记——shell补充:参数传递&函数等 Linux...
linux shell编程 教程大全 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 ...
11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件合并 110 11.2 系统sort 110 11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 ...
11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件合并 110 11.2 系统sort 110 11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 ...
本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk;提供的例子和参数都是最常用和最为实用的;对shell脚本使用的原则是命令单行书写,尽量不要超过...
11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件合并 110 11.2 系统sort 110 11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 ...
11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件合并 110 11.2 系统sort 110 11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 ...
,[]等)shell基础5:输入/输出(echo,read,cat,管道,tee,重定向等)shell基础8:文本过滤工具(grep) shell基础9:awk 64 shell基础10:sed 94 Shell基础11:文件分类、合并和分割(sort,uniq,join,cut,paste...
011_合并与分割_sort_join_uniq_cut_paste_split.pdf 012_tr的用法.pdf 013_登录环境.pdf 014_环境和shell变量.pdf 015_引号.pdf 016_基础shell编程_shell脚本介绍.pdf 017_条件测试_test_expr.pdf 018_控制...
11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件合并 110 11.2 系统sort 110 11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 ...
11.1.17 awk 使用 sort 输出结果 109 11.1.18 将两个分类文件合并 110 11.2 系统 sort 110 11.3 uniq 用法 111 11.4 join 用法 112 11.5 cut 用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 ...
11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件合并 110 11.2 系统sort 110 11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 ...
11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件合并 110 11.2 系统sort 110 11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 ...
11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件合并 110 11.2 系统sort 110 11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 ...
11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件合并 110 11.2 系统sort 110 11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste...
linux/unix shell编程指南,全面介绍了Linu/unix shell编程的常用知识和技巧,是不可多得的编程宝典。 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限...