仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 425|回复: 7
打印 上一主题 下一主题

[其他Linux] 来看看:你应当晓得的16个Linux服务器监控命令

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
#
发表于 2015-1-15 22:12:19 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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.   1翻开一个终端,su到root账号  2用你喜好的编纂器(vi/emacs/...)翻开/etc/inittab文件  3查找initdefault关头字,将“id:5:initdefault:”修正为“id:3:initdefault:”
复制代码
  假如体系中基本就没有/etc/inittab文件的话,也不妨,间接创立这个文件,并增加新的一行“id:3”。如许的话,你再重启服务器,便会默许进进命令行形态。固然,假如你只想在一时进进命令行形态,那末间接在终端中输出“init3”就行了。
  至此,我们的命令行筹办好了,上面就能够入手下手经由过程壮大的命令来检察“究竟服务器里产生了甚么”:
  1. [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情形。
  1. #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命令检察:
  1. cat/proc/meminfo
复制代码
  固然meminfo里包括了太多细节,你能够间接利用free命令来检察有关内存的综述。
  1. #free-mtotalusedfreesharedbufferscachedMem:15131429830343836-/+buffers/cache:2491263Swap:000
复制代码
  [04-mpstat]
  mpstat用在多处置器的服务器上,用来显现每个CPU的形态。
  别的,mpstat也会显现一切处置器的均匀情况。
  你能够设置显现每一个服务器的CPU统计信息,大概每一个处置的CPU统计信息。
  1. #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
复制代码
  个中各个域的寄义简述以下:
  1. 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选项包含:
  1. -a:显现一切socke信息-r:显现路由信息-i:显现网卡托言统计-s:显现收集协定统计
复制代码
  [06-nmon]
  nmon是Nigel’sMonitor的缩写,它是一个很出名的监督Linux体系功能的工具。
  nmon能够检察各处理器使用率、内存利用率、运转行列信息、磁盘IO统计、收集IO统计、换页统计等。
  你能够经由过程一个基于curses的类GUI界面来检察到上述信息。



  nmon监控工具
  [07-pmap]
  pmap命令能够显现历程占用的内存量。
  你能够经由过程pmap找到谁人占用内存量最多的历程。
  以下就是nignx主历程所占用的内存情形:
  1. #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的一些父子干系信息:
  1. #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命令能够检察体系已运转了多久,能够统计以后处于上岸形态的用户数目,还能够显现以后服务器的负载情形。
  1. [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命令即可以匡助人们实时发明此类成绩,找出谁人拖慢体系的首恶。
  1. [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等);
谁可相欹 该用户已被删除
7#
发表于 2015-3-20 07:32:24 | 只看该作者
Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
爱飞 该用户已被删除
6#
发表于 2015-3-13 00:09:29 | 只看该作者
安装一个新的软件时先看README,再看INSTALL然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果Linux说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。
再现理想 该用户已被删除
5#
发表于 2015-3-6 09:20:33 | 只看该作者
用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。
不帅 该用户已被删除
地板
发表于 2015-2-18 16:44:44 | 只看该作者
工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多。
乐观 该用户已被删除
板凳
发表于 2015-2-6 20:27:48 | 只看该作者
清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-22 20:33:49 | 只看该作者
得到到草率的回答或者根本得不到任何Linux答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。
愤怒的大鸟 该用户已被删除
楼主
发表于 2015-1-17 17:05:15 | 只看该作者
对于英语不是很好的读者红旗Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-25 16:56

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表