|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo、pswho
在分歧的Linux刊行版中,会有分歧的GUI程序能够显现各类体系信息,好比SUSELinux刊行版中,就有十分棒的图形化的设置和办理工具YaST,KDE桌面情况里的KDESystemGuard也很不错。
但是,关于一位Linux体系办理员来讲,除非心甘情愿,不然不会在Linux服务器上往运转如许的GUI程序,次要仍是由于GUI会占用良多的体系资本。以是呢,利用GUI工具一样平常都是做复杂的排查,假如你真的想晓得体系里真正产生了甚么,那末请关失落你的GUI,快点进进Linux命令行的天下吧。
假如但愿寻求最好功能,那末Linux服务器应当运转在runlevel3级别,也就是撑持收集和多用户功效,但不撑持GUI功效。假如你真的必要GUI,那末能够在命令行输出startx进进GUI。
假如你的Linux体系默许就是进进GUI,你能够调一分配置,让他默许进进runlevel3。详细办法就是:- 1翻开一个终端,su到root账号 2用你喜好的编纂器(vi/emacs/...)翻开/etc/inittab文件 3查找initdefault关头字,将“id:5:initdefault:”修正为“id:3:initdefault:”
复制代码 假如体系中基本就没有/etc/inittab文件的话,也不妨,间接创立这个文件,并增加新的一行“id:3”。如许的话,你再重启服务器,便会默许进进命令行形态。固然,假如你只想在一时进进命令行形态,那末间接在终端中输出“init3”就行了。
至此,我们的命令行筹办好了,上面就能够入手下手经由过程壮大的命令来检察“究竟服务器里产生了甚么”:- [01-iostat][02/03-meminfo/free][04-mpstat][05-netstat][06-nmon][07-pmap][08/09-ps/pstree][10-sar][11-strace][12-tcpdump][13-top][14-uptime][15-vmstat][16-wireshark]
复制代码 [01-iostat]
iostat命令显现的是你的存储体系的细节形态。你一般能够用这个命令往检测你的存储设备是不是事情一般,
完整能够在用户埋怨服务器慢之前,经由过程这个命令发明体系IO方面的成绩。
以下能够看到iostat既能够显现CPU利用情形,也能够看到每一个磁盘的IO情形。- #iostat1Linux2.6.32-220.4.1.el6.i686(roclinux)2012年12月22日_i686_(4CPU)avg-cpu:%user%nice%system%iowait%steal%idle0.550.000.030.020.0099.40Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtnsdb0.412.615.7625586645653872sda0.240.804.127846504038344
复制代码 [02/03-meminfo/free]
meminfo供应了很具体的内存利用情况。能够间接用cat命令检察: 固然meminfo里包括了太多细节,你能够间接利用free命令来检察有关内存的综述。- #free-mtotalusedfreesharedbufferscachedMem:15131429830343836-/+buffers/cache:2491263Swap:000
复制代码 [04-mpstat]
mpstat用在多处置器的服务器上,用来显现每个CPU的形态。
别的,mpstat也会显现一切处置器的均匀情况。
你能够设置显现每一个服务器的CPU统计信息,大概每一个处置的CPU统计信息。- #mpstat-PALLLinux2.6.32-220.4.1.el6.i686(roclinux)2012年12月22日_i686_(4CPU)17时46分35秒CPU%usr%nice%sys%iowait%irq%soft%steal%guest%idle17时46分35秒all0.550.000.030.020.000.000.000.0099.4017时46分35秒00.840.000.040.030.000.010.000.0099.0817时46分35秒10.510.000.030.020.000.000.000.0099.4417时46分35秒20.450.000.020.010.000.000.000.0099.5117时46分35秒30.400.000.020.010.000.000.000.0099.56#mpstat-P0Linux2.6.32-220.4.1.el6.i686(roclinux)2012年12月22日_i686_(4CPU)17时46分39秒CPU%usr%nice%sys%iowait%irq%soft%steal%guest%idle17时46分39秒00.840.000.040.030.000.010.000.0099.08
复制代码 个中各个域的寄义简述以下:- 1CPU:处置器编号,假如为all,则此行暗示的是一切处置器的统计均匀值2%usr:用户态的CPU使用率3%nice:具有调剂优先级的用户态CPU使用率4%sys:内核态CPU使用率(此值不包含呼应硬件中止和软件中止的工夫)5%iowait:处置IO哀求招致CPU处于IDLE形态的工夫百分比6%irq:CPU呼应硬件中止的工夫比率7%soft:CPU呼应软件中止的工夫比率8%steal:当假造机监控器在服务于其他假造处置器时,假造CPU的主动守候工夫比率9%guest:运转一个假造处置器所损耗的CPU工夫比率
复制代码 [05-netstat]
netstat命令,是Linux体系办理员几近天天城市用到的命令(它已慢慢在被ss命令代替),他能够显现良多有关收集方面的信息,比方socket利用情形、路由情形、网卡情形、协定情形、收集流量统计等等。
一些经常使用的netstat选项包含:- -a:显现一切socke信息-r:显现路由信息-i:显现网卡托言统计-s:显现收集协定统计
复制代码 [06-nmon]
nmon是Nigel’sMonitor的缩写,它是一个很出名的监督Linux体系功能的工具。
nmon能够检察各处理器使用率、内存利用率、运转行列信息、磁盘IO统计、收集IO统计、换页统计等。
你能够经由过程一个基于curses的类GUI界面来检察到上述信息。
nmon监控工具
[07-pmap]
pmap命令能够显现历程占用的内存量。
你能够经由过程pmap找到谁人占用内存量最多的历程。
以下就是nignx主历程所占用的内存情形:- #pmap2395|head-n102395:nginx:masterprocess./sbin/nginx00110000240Kr-x--/lib/libgssapi_krb5.so.2.20014c0004K-----/lib/libgssapi_krb5.so.2.20014d0004Kr----/lib/libgssapi_krb5.so.2.20014e0004Krw---/lib/libgssapi_krb5.so.2.20014f00012Kr-x--/lib/libcom_err.so.2.1001520004Kr----/lib/libcom_err.so.2.1001530004Krw---/lib/libcom_err.so.2.10015400048Kr-x--/lib/libnss_files-2.12.so001600004Kr----/lib/libnss_files-2.12.so...b78e400020Krw---[anon]b78f30004Krw-s-/dev/zero(deleted)b78f40004Krw---[anon]bfeaa00084Krw---[stack]total7280K
复制代码 [08/09-ps/pstree]
ps和pstree在Linux体系里是一对好兄弟,它们都是用来列出处于运转形态的历程的列表的。
ps告知我们每一个历程利用的内存量和所损耗的CPU工夫。
pstree则会告知我们历程间的父子干系,以下即是mysql的一些父子干系信息:- #pstree-p1829mysqld_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命令可谓体系监控工具里的瑞士军刀。
sar命令实践上是由三个程序构成的,即sar(用于显现数据)、sa1(用于收罗数据)和sa2(用于存储数据)。
sar能够涵盖到CPU使用率信息、内存换页信息、收集IO传输信息、历程创立举动和存储设备举动。
sar和nmon的最年夜区分在于,sar更合用于临时的体系监控,而nmon则更合用于疾速检察信息。
假如但愿更具体的进修sar命令,能够浏览《sar访谈》-linux命令五分钟系列之二十九。
[11-strace]
starce常常被用来作为清查程序成绩的工具,但他的功效远非云云。
它能够剖析和纪录历程的体系挪用举动,这使得strace成了一个十分有效的诊断、查询拜访和纠错工具。
举例来讲,你能够合用strace来清查到一个程序在启动之初所需加载的设置文件信息。
固然,strace也有它本身的缺点,那就是strace会严峻拖慢查询拜访工具(某个历程)的功能和运转速率。
特地保举一篇十分好的strace的文章:《strace利用详解》
别的,假如你利用MAC,strace的替换品是truss。
[12-tcpdump]
tcpdump是一个复杂的、好用的收集监控工具。它的收集协定剖析才能使得它可以看清收集中究竟产生了甚么,假如你但愿更细节的查询拜访的话,能够思索合用功效更加壮大的wireshark工具。
tcpdump的系列教程“在这里”。
[13-top]
top命令能够显现体系中的历程信息。默许情形下,top会依照CPU利用率从高到低来显现体系中的历程,而且每5秒革新一次排行榜。
固然,你也能够让top依照PID、历程寿命、CPU耗时、内存损耗等维度对历程举行排序。(我常常利用的是P和M快速键,分离是按CPU使用率排序、按内存利用量排序)
经由过程top命令,你能够很快的发明那些得到把持或不切合预期的历程。
[14-uptime]
经由过程uptime命令能够检察体系已运转了多久,能够统计以后处于上岸形态的用户数目,还能够显现以后服务器的负载情形。- [01-iostat][02/03-meminfo/free][04-mpstat][05-netstat][06-nmon][07-pmap][08/09-ps/pstree][10-sar][11-strace][12-tcpdump][13-top][14-uptime][15-vmstat][16-wireshark]0
复制代码 [15-vmstat]
年夜多半情形下,你可使用vmstat命令往检察体系的假造内存情形,由于Linux一般会经由过程假造内存来取得更好的存储功能。
假如你的程序占用了大批了内存,那末体系会举行内存页换出的举措,以便把程序从内存中挪动到体系SWAP空间中,也就是硬盘中。
假如体系的内存页的换进换出举措频度凌驾一个临界值,那末这类形态被叫做“Thrashing”。当体系处于thrashing形态时,功能会急剧下落。
vmstat命令即可以匡助人们实时发明此类成绩,找出谁人拖慢体系的首恶。- [01-iostat][02/03-meminfo/free][04-mpstat][05-netstat][06-nmon][07-pmap][08/09-ps/pstree][10-sar][11-strace][12-tcpdump][13-top][14-uptime][15-vmstat][16-wireshark]1
复制代码 [16-wireshark]
Wireshark的前身叫做Ethereal,我们能够以为wireshark是tcpdump命令的大家兄,由于wireshark会更加专业,也具有更初级的协定剖析和统计才能。
Wireshark同时具有GUI界面和shell托言。
假如你是一名资深的收集办理员,那末你必定利用过ethereal。而假如你正在利用wireshark/ethereal,那末我保举你浏览ChrisSander的一本十分好的书《PracticalPacketAnalysis》。
原文:16LinuxServerMonitoringCommandsYouReallyNeedToKnow
常用的linux命令,尤其是一些能帮你提高开发效率的命令,(eg:grep,awk,sed,split等); |
|