在使用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群内程序员都是来自百度、阿里、京东、小米、去哪儿、饿了吗、蓝港等高级程序员拥有丰富的经验。加入我们直线沟通技术大牛最佳的学习环境了解业内的一手的资讯。如果你想结实大牛那就加入进来让大牛带你超神
之前分享过很多次CloudCone的信息,主要是VPS主机,其实商家也提供独立服务器租用,同样在洛杉矶MC机房,分为两种线路:普通优化线路及CN2 GIA,今天来分享下商家的CN2 GIA线路独立服务器产品,提供15-100Mbps带宽,不限制流量,可购买额外的DDoS高防IP,最低每月82美元起,支持使用PayPal或者支付宝等付款方式。下面分享几款洛杉矶CN2 GIA线路独立服务器配置信息。配...
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...
提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...