在使用Li nux服务器的过程中有16个命令可以帮助你全面了解你的服务器的运行状况。如果你能够很熟练地掌握这些命令就离成为一名专业的Linux系统管理员不远啦
在不同的Linux发行版中会有不同的GUI程序可以显示各种系统信息 比如SUSE Linux发行版中就有非常棒的图形化的配置和管理工具YaSTKDE桌面环境里的KDE System Guard也很不错。
然而对于一名Linux系统管理员来说除非迫不得已否则不会在Linux服务器上去运行这样的GUI程序主要还是因为GUI会占用很多的系统资源。所以呢使用GUI工具一般都是做简单的排查如果你真的想知道系统里真正发生了什么那么请关掉你的GUI 快点进入Linux命令行的世界吧。
如果希望追求最佳性能那么Linux服务器应该运行在runlevel 3级别也就是支持网络和多用户功能但不支持GUI功能。如果你真的需要GUI 那么可以在命令行输入startx进入GUI。如果你的Linux系统默认就是进入GUI 你可以调一调配置让他默认进入runlevel 3。具体方法就是
1打开一个终端 su到root账号
2用你喜欢的编辑器vi/emacs/. . . 打开/etc/inittab文件
3查找initdefault关键字将“id:5: initdefault: ”修改为“id:3:initdefault: ”如果系统中根本就没有/etc/inittab文件的话也没关系直接创建这个文件并添加新的一行“id:3”。这样的话你再重启服务器便会默认进入命令行状态。当然如果你只想在临时进入命令行状态那么直接在终端中输入“init 3”就好了。
至此我们的命令行准备好了下面就可以开始通过强大的命令来查看“到底服务器里发生了什么”
[01 - iostat ]
[02/03 - meminfo/free ]
[04 - mpstat ]
[05 - netstat ]
[06 - nm o n ]
[07 - pm a p ]
[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情况。
[02/03 –memin fo/free]memin fo提供了很详细的内存使用状况。可以直接用cat命令查看cat /proc/meminfo
当然mem info里包含了太多细节你可以直接使用free命令来查看有关内存的综述。
[04–mpstat]mpstat用在多处理器的服务器上用来显示每一个CPU的状态。
另外 mpsta t也会显示所有处理器的平均状况。
你可以设置显示每个服务器的CPU统计信息或者每个处理的CPU统计信息。
14 17时46分39秒CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle15 17时46分39秒0 0.84 0.00 0.04 0.03 0.00 0.01 0.00 0.00 99.08
其中各个域的含义简述如下
1 CPU处理器编号如果为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命令取代
他可以显示很多有关网络方面的信息例如s o c ke t使用情况、路由情况、网卡情况、协议情况、
网络流量统计等等。
一些常用的netstat选项包括
-a :显示所有socke信息
-r :显示路由信息
-i :显示网卡借口统计
-s :显示网络协议统计
[06–nmon]nmon是Nigel ’s Monitor的缩写它是一个很知名的监视Linux系统性能的工具。nmon可以查看到处理器利用率、 内存使用率、运行队列信息、磁盘IO统计、 网络IO统计、
换页统计等。
你可以通过一个基于cu rses的类GUI界面来查看到上述信息。
nmon监控工具
[07–pmap]p ma p命令可以显示进程占用的内存量。
你可以通过p ma p找到那个占用内存量最多的进程。如下就是nignx主进程所占用的内存情况
[08/09 –ps/pstree]ps和pstree在Linux系统里是一对好兄弟 它们都是用来列出处于运行状态的进程的列表的。ps告诉我们每个进程使用的内存量以及所消耗的CPU时间。pstree则会告诉我们进程间的父子关系如下便是mysql的一些父子关系信息
[10–sar]sar命令堪称系统监控工具里的瑞士军刀。sar命令实际上是由三个程序组成的即sar 用于显示数据 、 sa1(用于采集数据)和sa2 用于存储数据 。sar可以涵盖到CPU利用率信息、内存换页信息、网络IO传输信息、进程创建行为和存储设备行为。sar和nmon的最大区别在于 sa r更适用于长期的系统监控而nmon则更适用于快速查看信息。
如果希望更详细的学习sar命令可以阅读《sar访谈》 -l inux命令五分钟系列之二十九。
[11 –strac e]
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 # uptime
2 18:35: 17 up 11 days, 9:30, 1 user, load average: 0.00, 0.00, 0.00
[15 –vmstat]
大多数情况下你可以使用vmstat命令去查看系统的虚拟内存情况因为Linux通常会通过虚拟内存来获得更好的存储性能。
如果你的程序占用了大量了内存那么系统会进行内存页换出的动作以便把程序从内存中移动到系统SWAP空间中也就是硬盘中。
如果系统的内存页的换入换出动作频度超过一个临界值那么这种状态被叫做“Thrashing”。当系统处于thrashing状态时性能会急剧下降。vmsta t命令便可以帮助人们及时发现此类问题找出那个拖慢系统的元凶。
1 # vmstat 1
[16–wires hark]
Wireshark的前身叫做Ethereal,我们可以认为wireshark是tcpdump命令的大师兄 因为wireshark会更为专业也具有更高级的协议分析和统计能力。
Wireshark同时具有GUI界面和shel l借口。
全能程序员交流QQ群290551701群内程序员都是来自百度、阿里、京东、小米、去哪儿、饿了吗、蓝港等高级程序员拥有丰富的经验。加入我们直线沟通技术大牛最佳的学习环境了解业内的一手的资讯。如果你想结实大牛那就加入进来让大牛带你超神
HostKvm商家我们也不用多介绍,这个服务商来自国内某商家,旗下也有多个品牌的,每次看到推送信息都是几个服务商品牌一起推送的。当然商家还是比较稳定的,商家品牌比较多,这也是国内商家一贯的做法,这样广撒网。这次看到黑五优惠活动发布了,针对其主打的香港云服务器提供终身6折的优惠,其余机房服务器依然是8折,另还有充值50美元赠送5美元的优惠活动,有需要的可以看看。HostKvm是一个创建于2013年的...
HostYun 商家以前是玩具主机商,这两年好像发展还挺迅速的,有点在要做点事情的味道。在前面也有多次介绍到HostYun商家新增的多款机房方案,价格相对还是比较便宜的。到目前为止,我们可以看到商家提供的VPS主机包括KVM和XEN架构,数据中心可选日本、韩国、香港和美国的多个地区机房,电信双程CN2 GIA线路,香港和日本机房,均为国内直连线路。近期,HostYun上线低价版美国CN2 GIA ...
快云科技已稳步运行进两年了 期间没出现过线路不稳 客户不满意等一系列问题 本司资质齐全 持有IDC ICP ISP等正规手续 有独特的网站设计理念 在前几天刚是参加过魔方系统举行的设计大赛拿获最佳设计奖第一名 本公司主营产品 香港弹性云服务器,美国vps和日本vps,香港物理机,国内高防物理机以及美国日本高防物理机 2020年的国庆推出过一款香港的回馈用户特惠机 已作为传家宝 稳定运行 马上又到了...