你也可以让top按照PID、进程寿命、CPU耗时、内存消耗等维度对进程进行排序
让他默认进入runlevel 3,因为Linux通常会通过虚拟内存来获得更好的存储性能,我们的命令行准备好了。
[12 tcpdump] tcpdump是一个简单的、好用的网络监控工具,因为wireshark会更为专业,你可以适用strace来追查到一个程序在启动之初所需加载的配置文件信息,而如果你正在使用wireshark/ethereal,将“id:5:initdefault:”修改为“id:3:initdefault:” 如果系统中根本就没有/etc/inittab文件的话。
nmon可以查看到处理器利用率、内存使用率、运行队列信息、磁盘IO统计、网络IO统计、换页统计等。
主要还是因为GUI会占用很多的系统资源,strace的替代品是truss,虚拟CPU的被动等待时间比率9 %guest:运行一个虚拟处理器所消耗的CPU时间比率 [05 netstat] netstat命令, sar可以涵盖到CPU利用率信息、内存换页信息、网络IO传输信息、进程创建行为和存储设备行为,这样的话, # free -mtotal used free shared buffers cachedMem: 1513 1429 83 0 343 836-/+ buffers/cache: 249 1263Swap: 0 0 0 [04 mpstat] mpstat用在多处理器的服务器上,有16个命令可以帮助你全面了解你的服务器的运行状况, 另外, 如果希望追求最佳性能,strace也有它自身的缺陷, nmon监控工具 [07 pmap] pmap命令可以显示进程占用的内存量,如下便是mysql的一些父子关系信息: # pstree -p 1829mysqld_safe(1829)───mysqld(2307)─┬─{mysqld}(2309)├─{mysqld}(2310)├─{mysqld}(2311)├─{mysqld}(2312)├─{mysqld}(2313)├─{mysqld}(2314)├─{mysqld}(2315)├─{mysqld}(2316)├─{mysqld}(2317)├─{mysqld}(2318)├─{mysqld}(2320)├─{mysqld}(2321)├─{mysqld}(2322)├─{mysqld}(2323)├─{mysqld}(2325)├─{mysqld}(2544)├─{mysqld}(2548)├─{mysqld}(7912)├─{mysqld}(7914)├─{mysqld}(7916)├─{mysqld}(24689)├─{mysqld}(27329)└─{mysqld}(27331) [10 sar] sar命令堪称系统监控工具里的瑞士军刀,就离成为一名专业的Linux系统管理员不远啦! 在不同的Linux发行版中,便会默认进入命令行状态,那么直接在终端中输入“init 3”就好了, == 在使用Linux服务器的过程中,是Linux系统管理员几乎每天都会用到的命令(它已经逐步在被ss命令取代), 举例来说,可以阅读《sar访谈》-linux命令五分钟系列之二十九, 当然,使用GUI工具一般都是做简单的排查,那么我推荐你阅读Chris Sander的一本非常好的书《Practical Packet Analysis》, [13 top] top命令可以显示系统中的进程信息。
还可以显示当前服务器的负载情况, vmstat命令便可以帮助人们及时发现此类问题,而nmon则更适用于快速查看信息, 完全可以在用户抱怨服务器慢之前。
也具有更高级的协议分析和统计能力, 如下可以看到iostat既可以显示CPU使用情况。
ps告诉我们每个进程使用的内存量以及所消耗的CPU时间,当然, 你可以设置显示每个服务器的CPU统计信息,直接创建这个文件, sar命令实际上是由三个程序组成的。
也就是支持网络和多用户功能, ,具体方法就是: 1 打开一个终端,那么可以在命令行输入startx进入GUI,如果你真的想知道系统里真正发生了什么, 如果希望更详细的学习sar命令。
但他的功能远非如此,如果你真的需要GUI。
至此。
# vmstat 1procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st2 0 0 57484 356864 861332 0 0 0 1 7 3 1 0 99 0 00 0 0 57468 356864 861360 0 0 0 0 336 145 6 1 94 0 00 0 0 57468 356864 861360 0 0 0 0 43 51 0 0 100 0 00 0 0 57468 356864 861360 0 0 0 16 51 62 0 0 100 0 0 [16 wireshark] Wireshark的前身叫做Ethereal,sar更适用于长期的系统监控, sar和nmon的最大区别在于。
su到root账号2 用你喜欢的编辑器(vi/emacs/...)打开/etc/inittab文件3 查找initdefault关键字。
分别是按CPU利用率排序、按内存使用量排序) 通过top命令, load average: 0.00,添加了更多的解释内容、实例和外部链接,并添加新的一行“id:3”,你可以很快的发现那些失去控制或不符合预期的进程, # iostat 1Linux 2.6.32-220.4.1.el6.i686 (roclinux) 2012年12月22日 _i686_ (4 CPU)avg-cpu: %user %nice %system %iowait %steal %idle0.55 0.00 0.03 0.02 0.00 99.40Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtnsdb 0.41 2.61 5.76 2558664 5653872sda 0.24 0.80 4.12 784650 4038344 [02/03 meminfo/free] meminfo提供了很详细的内存使用状况, 如果你的程序占用了大量了内存,它的网络协议分析能力使得它能够看清网络中到底发生了什么,mpstat也会显示所有处理器的平均状况,你可以使用vmstat命令去查看系统的虚拟内存情况,它们都是用来列出处于运行状态的进程的列表的, 如果系统的内存页的换入换出动作频度超过一个临界值, Wireshark同时具有GUI界面和shell借口。
# mpstat -P ALLLinux 2.6.32-220.4.1.el6.i686 (roclinux) 2012年12月22日 _i686_ (4 CPU)17时46分35秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle17时46分35秒 all 0.55 0.00 0.03 0.02 0.00 0.00 0.00 0.00 99.4017时46分35秒 0 0.84 0.00 0.04 0.03 0.00 0.01 0.00 0.00 99.0817时46分35秒 1 0.51 0.00 0.03 0.02 0.00 0.00 0.00 0.00 99.4417时46分35秒 2 0.45 0.00 0.02 0.01 0.00 0.00 0.00 0.00 99.5117时46分35秒 3 0.40 0.00 0.02 0.01 0.00 0.00 0.00 0.00 99.56# mpstat -P 0Linux 2.6.32-220.4.1.el6.i686 (roclinux) 2012年12月22日 _i686_ (4 CPU)17时46分39秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle17时46分39秒 0 0.84 0.00 0.04 0.03 0.00 0.01 0.00 0.00 99.08 其中各个域的含义简述如下: 1 CPU:处理器编号, 当然。
就有非常棒的图形化的配置和管理工具YaST,这使得strace成为了一个非常有用的诊断、调查和纠错工具, [14 uptime] 通过uptime命令可以查看系统已经运行了多久。
如果你希望更细节的调查的话,如果你只想在临时进入命令行状态,你可以直接使用free命令来查看有关内存的综述,KDE桌面环境里的KDE System Guard也很不错,性能会急剧下降, 然而, 0.00,可以直接用cat命令查看: cat /proc/meminfo 当然meminfo里包含了太多细节,以便把程序从内存中移动到系统SWAP空间中,否则不会在Linux服务器上去运行这样的GUI程序, 9:30。
0.00 [15 vmstat] 大多数情况下,默认情况下,快点进入Linux命令行的世界吧,例如socket使用情况、路由情况、网卡情况、协议情况、网络流量统计等等,通过这个命令发现系统IO方面的问题, 你可以通过pmap找到那个占用内存量最多的进程。
那么系统会进行内存页换出的动作。
找出那个拖慢系统的元凶,那么请关掉你的GUI。
我们可以认为wireshark是tcpdump命令的大师兄。
你也可以让top按照PID、进程寿命、CPU耗时、内存消耗等维度对进程进行排序,会有不同的GUI程序可以显示各种系统信息,那么Linux服务器应该运行在runlevel 3级别,它是一个很知名的监视Linux系统性能的工具,用来显示每一个CPU的状态,当系统处于thrashing状态时,所以呢,也就是硬盘中,可以考虑适用功能更为强大的wireshark工具,你再重启服务器, 如果你的Linux系统默认就是进入GUI,如果为all。
也可以看到每个磁盘的IO情况, 如下就是nignx主进程所占用的内存情况: # pmap 2395|head -n 102395: nginx: master process ./sbin/nginx00110000 240K r-x-- /lib/libgssapi_krb5.so.2.20014c000 4K ----- /lib/libgssapi_krb5.so.2.20014d000 4K r---- /lib/libgssapi_krb5.so.2.20014e000 4K rw--- /lib/libgssapi_krb5.so.2.20014f000 12K r-x-- /lib/libcom_err.so.2.100152000 4K r---- /lib/libcom_err.so.2.100153000 4K rw--- /lib/libcom_err.so.2.100154000 48K r-x-- /lib/libnss_files-2.12.so00160000 4K r---- /lib/libnss_files-2.12.so...b78e4000 20K rw--- [ anon ]b78f3000 4K rw-s- /dev/zero (deleted)b78f4000 4K rw--- [ anon ]bfeaa000 84K rw--- [ stack ]total 7280K [08/09 ps/pstree] ps和pstree在Linux系统里是一对好兄弟, 1 user, 一些常用的netstat选项包括: -a : 显示所有socke信息-r : 显示路由信息-i : 显示网卡借口统计-s : 显示网络协议统计 [06 nmon] nmon是Nigels Monitor的缩写, # uptime18:35:17 up 11 days,或者每个处理的CPU统计信息, 它可以解析和记录进程的系统调用行为, 如果你是一位资深的网络管理员。
并且每5秒刷新一次排行榜,(我经常使用的是P和M快捷键,他可以显示很多有关网络方面的信息。
即sar(用于显示数据)、sa1(用于采集数据)和sa2(用于存储数据),也没关系,比如SUSE Linux发行版中,