如果你想知道你的服务器正在做干什么你就需要了解一些基本的命令一旦你精通了这些命令那你就是一个专业的Linux系统管理员。
有些Linux发行版会提供GUI程序来进行系统的监控例如SUSE Linux就有一个非常棒而且专业的工具YaST KDE的KDE System Guard同样很出色。当然要使用这些工具你必须在服务器跟前进行操作而且这些GUI的程序占用了很多系统资源所以说尽管GUI用来做基本的服务器健康状态监测挺好但如果你想知道真正发生什么请关掉GUI开始命令行之旅吧。
你应该只在需要的时候去启动GUI 不用的时候关掉它。如果要让服务器保持最佳性能你应该将Linux服务器的运行级别runlevel设置为3 就是控制台模式当你需要图形化桌面的时候使用startx命令来启动它。
如果你的服务器启动后就直接进入图形界面你需要修改配置/etc/inittab找到initdefault一样将id:5: initdefau lt修改为id:3: initdefault。
如果你没找到/etc/inittab文件那就创建一个新的文件内容增加id:3这么一行。这样下次服务器启动的时候就不会进入图形界面。如果你不想等到服务器重启的时候才生效你可以执行init 3这个命令。
一旦你的服务器是在控制台模式下运行你就可以开始我们接下来的内容。iostatiostat命令用来显示存储子系统的详细信息通常用它来监控磁盘I/O的情况。要特别注意iostat统计结果中的%iowait值太大了表明你的系统存储子系统性能低下。meminfo和free
Meminfo可让你获取内存的详细信息你可以使用cat和grep命令来显示meminfo信息1 cat /proc/meminfo
另外你可以使用free命令来显示动态的内存使用信息free只是给你大概的内存信息而memin fo提供的信息更加详细。例如在oschina上的free命令执行结果
mpstatmpstat mpstat是MultiProcessor Statistics的缩写是实时系统监控工具。其报告与CPU的一些统计信息这些信息存放在/proc/stat文件中。在多CPUs系统里其不但能查看所有CPU的平均状况信息而且能够查看特定CPU的信息。
再来看看oschina上的mpstat命令执行结果
关于mpstat执行结果中的参数意思请参考此贴。netstat
Netstat和ps命令类似是Linux管理员基本上每天都会用的工具它显示了大量跟网络相关的信息例如socket的使用、路由、接口、协议、 网络等等下面是一些常用的参数
1-a Show all socket information
2-r Show routing information
3-i Show network interface statistics
4-s Show network protocol statisticsnmon
Nmon,是Nigel 's Monitor的缩写是一个使用很普遍的开源工具用以监控Linux系统的性能。Nmon监控多个子系统的性能数据例如处理器的使用率、内存使用率、队列、磁盘I/O统计、网络I/O统计、 内存页处理和进程信息。 Nmon也提供了一个图形化的工具
要运行nmon你可以在命令行中启动它然后选择要监控的子系统这些子系统都对应有一个快捷键例如输入c可查看CPU信息 m用于查看内存 d用来查看磁盘信息等你也可以使用-f命令将nmon的执行结果保存到一个CSV文件中便于日后分析。
在每日的监控工作中我发现nmon是我最常用的工具。pmappmap命令用来报告每个进程占用内存的详细情况可用来看是否有进程超支了该命令需要进程id作为参数。ps和pstreeps和pstree命令是Linux系统管理员最好的朋友都可以用来列表正在运行的所有进程。 ps告诉你每个进程占用的内存和CPU处理时间而pstree显示的信息没那么详细但它以树形结构显示进程之间的依赖关系包括子进程信息。一旦发现某个进程有问题你可以使用ki l l来杀掉它。sarsar程序是系统监控工具里的瑞士军刀。该程序包含三个工具 sar用来显示数据 sa1和sa2用来收集数据并保存。 sar可用来显示CPU使用率、 内存页数据、 网络I/O和传输统计、进程创建活动和磁盘设备的活动详情。 sar和nmon最大的不同就是sar跟适合用作长期的监控而nmon可以让你快速的了解系统当前状态。stracestrace经常被认为是程序员调试的工具但不止如此。它可以记录进程进行系统调用的详情 因此它也是一个非常好的诊断工具例如你可以使用它来找出某个程序正在打开某个配置文件。
Strace也有一个缺陷但它在跟踪某个进程时会让该进程的性能变得非常差 因此请谨慎使用。tcpdump
Tcpdump是一个简单、可靠的网络监控工具用来做基本的协议分析看看那些进程在使用网络以及如何使用网络。当然如果你要获取跟详细的信息你应该使用Wireshark(下面我们会介绍).toptop命令显示当前的活动进程默认它是按消耗CPU的厉害程度进行排序每5秒钟刷新一次列表你也可以选择不同的排序方式例如m是按内存占用方式进行排序的快捷键。uptime
uptime命令告诉你这台服务器从开机启动到现在已经运行了多长时间了。 同时也包含了从启动到现在服务器的平均负载情况看看oschina的数据
我已经忘了上次是为什么重启机器了好像是换了个机柜。vmstat
你可以使用vmstat来监控虚拟内存一般Linux上的开发者喜欢使用虚拟内存来获得最佳的存储性能。该命令报告关于内核线程、虚拟内存、磁盘、陷阱和CPU活动的统计信息。由vmstat命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息所有的处理器中都计算出以百分比表示的平均值或者计算其总和。
在oschina上执行vmstat的结果
Wireshark
Wireshark,前身是Ethereal 是一个网络协议检测程序让您经由程序抓取运行的网站的相关资讯
这里罗列的是大多数最有价值的Linux监控程序 当然你可能还会使用其他的工具不妨跟大家分享下。
今天上午有网友在群里聊到是不是有新注册域名的海外域名商家的优惠活动。如果我们并非一定要在国外注册域名的话,最近年中促销期间,国内的服务商优惠力度还是比较大的,以前我们可能较多选择海外域名商家注册域名在于海外商家便宜,如今这几年国内的商家价格也不贵的。比如在前一段时间有分享到几个商家的年中活动:1、DNSPOD域名欢购活动 - 提供域名抢购活动、DNS解析折扣、SSL证书活动2、难得再次关注新网商家...
随着自媒体和短视频的发展,确实对于传统的PC独立网站影响比较大的。我们可以看到云服务器商家的各种促销折扣活动,我们也看到传统域名商的轮番新注册和转入的促销,到现在这个状态已经不能说这些商家的为用户考虑,而是在不断的抢夺同行的客户。我们看到Namecheap商家新注册域名和转入活动一个接一个。如果我们有需要新注册.COM域名的,只需要5.98美元。优惠码:NEWCOM598。同时有赠送2个月免费域名...
Friendhosting商家在前面的篇幅中也又陆续介绍到,是一家保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌克兰和美国洛杉矶等。这不近期黑色星期五活动,商家也有推出了黑五优惠,VPS全场一次性45折,虚拟主机4折,全球多机房可选,老用户续费可获9折加送1个月使用时长,VDS折后最低仅€14.53/年,有需要的可以看看。Friendhos...