<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[[实践OK]Linux下查看进程打开的文件句柄数的排序命令： lsof -nawk {print $2}sortuniq -csort -nrmore ，Linux下查看及修改进程打开的文件句柄数量和进程数，并按句柄数求和。 Linux下查看进程打开的文件句柄数]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Sat, 04 Jun 2016 16:53:28 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	#其中按进程统计句柄数 第一列是打开的句柄数，第二列是进程ID。<br/>lsof -n&#124;awk &#039;&#123;print $2&#125;&#039;&#124;sort&#124;uniq -c&#124;sort -nr<br/>#其中按句柄类型统计句柄数 其中REG代表文件<br/>lsof -n&#124;awk &#039;&#123;print $5&#125;&#039;&#124;sort&#124;uniq -c&#124;sort -nr<br/>#查看总共文件句柄数<br/>lsof&#124;wc -l<br/>#查看网络句柄数 和用netstat统计一样，原理是：linux中一切皆文件（内存、网络、硬盘。。。）<br/>lsof &#124;grep IPv4&#124;wc -l<br/>lsof &#124;grep TCP&#124;wc -l<br/><br/><textarea name="code" class="php" rows="15" cols="100">
lsof -n&#124;awk &#039;&#123;print $2&#125;&#039;&#124;sort&#124;uniq -c&#124;sort -nr
&nbsp;&nbsp; 4953 1890
&nbsp;&nbsp; 2484 1279
&nbsp;&nbsp; 1288 51388
&nbsp;&nbsp; 1125 1714
&nbsp;&nbsp; 1095 1802

ps -ef&#124;grep 1890
gdm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1890&nbsp;&nbsp;1850&nbsp;&nbsp;0 7月29 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 01:16:41 /usr/bin/gnome-shell

ps -ef&#124;grep 1279
root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1279&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;0 7月29 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00:00:00 /usr/sbin/libvirtd

ps -ef&#124;grep 51388
root&nbsp;&nbsp;&nbsp;&nbsp; 51388 51345&nbsp;&nbsp;0 17:50 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00:00:00 /usr/libexec/tracker-extract

ps -ef&#124;grep 1714
qemu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1714&nbsp;&nbsp;&nbsp;&nbsp; 1 11 7月29 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1-10:43:57 /usr/libexec/qemu-kvm -name iKuai8_x64_3.0.7_Build20180419100

ps -ef&#124;grep 1802
qemu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1802&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;2 7月29 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 06:30:47 /usr/libexec/qemu-kvm -name centos7.4 -S -machine pc-i440fx-rhel
</textarea><br/>来自：https://blog.csdn.net/bolg_hero/article/details/77622616<br/>=======================================================================================<br/>背景：有时候出现句柄数不够用的情况，得用awk去统计一下各个进程的句柄数之和是否超过设置的句柄数了，cat /tmp/runProNumFds.txt &#124; awk &#039;&#123;a=a+$1&#125;END&#123;print a&#125;&#039; ，这样好再次重新设置一下句柄的值。<br/>ulimit -n<br/>65535<br/><br/>----查看当前进程打开了多少句柄数<br/><br/># lsof -n&#124;awk &#039;&#123;print $2&#125;&#039;&#124;sort&#124;uniq -c&#124;sort -nr&#124;more<br/><br/><br/>压力测试时一看这些句柄数的一个情况，如下：<br/>lsof -n&#124;awk &#039;&#123;print $2&#125;&#039;&#124;sort&#124;uniq -c&#124;sort -nr<br/>1063 23973<br/>1030 23975<br/>739 23972<br/>522 23971<br/>139 64672<br/>136 3569<br/>136 3568<br/>136 3454<br/>136 3450<br/>136 3449<br/><br/><br/>lsof -n&#124;awk &#039;&#123;print $2&#125;&#039;&#124;sort&#124;uniq -c&#124;sort -nr &gt;&gt; /tmp/runProNumFds.txt<br/>简单的把第1列加起来：<br/>cat /tmp/runProNumFds.txt &#124; awk &#039;&#123;a=a+$1&#125;END&#123;print a&#125;&#039;<br/>47465<br/>Awk求和参考自：http://blog.sina.com.cn/s/blog_710844930100pzxj.html<br/><br/>ps aux&#124;grep -E &quot;23975&#124;23972&#124;23973&#124;64672&quot;<br/>root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4374&nbsp;&nbsp;0.0&nbsp;&nbsp;0.0 103316&nbsp;&nbsp; 880 pts/1&nbsp;&nbsp;&nbsp;&nbsp;S+&nbsp;&nbsp; 17:25&nbsp;&nbsp; 0:00 grep -E 23975&#124;23972&#124;23973&#124;64672<br/>www&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;23972&nbsp;&nbsp;2.2&nbsp;&nbsp;0.1&nbsp;&nbsp;65656 22788 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S&nbsp;&nbsp;&nbsp;&nbsp;15:09&nbsp;&nbsp; 3:00 nginx: worker process&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>www&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;23973&nbsp;&nbsp;3.1&nbsp;&nbsp;0.1&nbsp;&nbsp;65656 22784 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S&nbsp;&nbsp;&nbsp;&nbsp;15:09&nbsp;&nbsp; 4:16 nginx: worker process&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>www&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;23975&nbsp;&nbsp;1.9&nbsp;&nbsp;0.1&nbsp;&nbsp;65656 22780 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S&nbsp;&nbsp;&nbsp;&nbsp;15:09&nbsp;&nbsp; 2:39 nginx: worker process&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>root&nbsp;&nbsp;&nbsp;&nbsp; 64672&nbsp;&nbsp;0.3&nbsp;&nbsp;0.0 576792&nbsp;&nbsp;6536 ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ss&nbsp;&nbsp; 17:09&nbsp;&nbsp; 0:03 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)&nbsp;&nbsp;<br/>============================================================================<br/><br/><br/>背景：做一些大量的句柄打开的操作，很有必要看到底打开了多少。如inodity监控啥的。<br/>[root@mongodb11 ~]# ulimit -a<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ......<br/>open files&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(-n) 1024<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ......<br/><br/><br/>----查看当前进程打开了多少句柄数<br/># lsof -n&#124;awk &#039;&#123;print $2&#125;&#039;&#124;sort&#124;uniq -c&#124;sort -nr&#124;more<br/>131 24204　<br/>57 24244　　<br/>57 24231　　 ........<br/>其中第一列是打开的句柄数，第二列是进程ID。<br/><br/><br/><textarea name="code" class="php" rows="15" cols="100">
root&nbsp;&nbsp;&nbsp;&nbsp; 25497&nbsp;&nbsp;0.1 11.0 405908 112236 pts/2&nbsp;&nbsp; S+&nbsp;&nbsp; 00:47&nbsp;&nbsp; 0:00 php websocketTailSer.php
[root@iZ25dcp92ckZ swoole.jackxiang.com]# lsof -n &#124; awk &#039;&#123;print $2&#125;&#039;&#124; sort &#124; uniq -c &#124; sort -nr &#124;grep 25497
&nbsp;&nbsp;&nbsp;&nbsp;123 25497
</textarea><br/><br/><br/>---查看系统默认的最大文件句柄数，系统默认是1024<br/><br/># ulimit -n<br/><br/>1024<br/><br/> <br/><br/>----查看当前进程打开了多少句柄数<br/><br/># lsof -n&#124;awk &#039;&#123;print $2&#125;&#039;&#124;sort&#124;uniq -c&#124;sort -nr&#124;more<br/><br/>131 24204　<br/><br/>57 24244　　<br/><br/>57 24231　　 ........<br/><br/>其中第一列是打开的句柄数，第二列是进程ID。<br/><br/>可以根据ID号来查看进程名。<br/><br/># ps aef&#124;grep 24204<br/><br/>nginx　　24204 24162 99 16:15 ?　　　　00:24:25 /usr/local/nginx/sbin/nginx -s<br/><br/> <br/><br/>Linux有硬性限制和软性限制。可以通过ulimit来设定这两个参数。方法如下，以root用户运行以下命令：<br/><br/># ulimit -HSn 4096<br/><br/>以上命令中，H指定了硬性大小，S指定了软性大小，n表示设定单个进程最大的打开文件句柄数量。个人觉得最好不要超过4096，毕竟打开的文件句柄数越多响应时间肯定会越慢。设定句柄数量后，系统重启后，又会恢复默认值。如果想永久保存下来，可以修改.bash_profile文件，可以修改 /etc/profile 把上面命令加到最后.<br/><br/>原文:http://leequery.blog.163.com/blog/static/1684220962010101023743567/<br/><br/>更多：http://liuzhigong.blog.163.com/blog/static/1782723752013817916611/
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]Linux下查看进程打开的文件句柄数的排序命令： lsof -nawk {print $2}sortuniq -csort -nrmore ，Linux下查看及修改进程打开的文件句柄数量和进程数，并按句柄数求和。 Linux下查看进程打开的文件句柄数]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>