CentOS服务器的16个监控命令

  你可以通过图形化用户界面(GUI)程序来获取这些外壳命令提供的大量信息,具体取决于使用哪一种Linux发行版。比如说,SUSE Linux就有一款出色的、图形化配置和管理工具YaST,KDE的KDE System Guard同样很出色。

  不过,Linux管理员要明白的一个常理是:只有绝对必要时,才应该在服务器上运行GUI。那是由于,Linux GUI耗用系统资源,而这些资源原本可以更合理地用在其他地方。所以,尽管使用GUI程序很适合对服务器健康状况做一个基本的检查,但是如果你想知道到底发生了什么,请关闭GUI,开始从Linux命令外壳使用这些工具。

  这还意味着,只要在需要时,你才应该在服务器上开启GUI;不用的时候,就及时关掉。为了确保性能最佳,Linux服务器应该在运行级别(runlevel)3下运行,这个运行级别完全支持网络和多个用户,但是在机器启动时,又不开启GUI。如果你果真需要图形化桌面,总是可以从外壳提示符下运行startx,获得图形化桌面。

  如果你的服务器启动后进入到图形化桌面,就需要更改这种情况。为此,进入到终端窗口,使用su命令切换到root用户,然后用你常用的编辑器打开/etc/inittab文件。

  一旦进入到文件里面,找到initdefault这一行,将id:5:initdefault:改为id:3:initdefault:。

  要是没有/etc/inittab文件,就创建一个,并添加id:3这一行。保存后退出。下次你启动进入服务器时,它会启动进入到运行级别3。如果你不想在进行这种更改后重启,也可以用命令init 3,立即设置服务器的运行级别。

  一旦你的服务器在init 3下运行,就可以开始使用下列外壳程序,看看你的服务器里面出现了什么情况。

iostat

  iostat 命令详细地显示了存储子系统方面的情况。你通常用iostat来监控存储子系统总体上运行状况如何,并且在用户注意到服务器运行缓慢之前提早发现输入/输出缓慢的问题。相信我,你应该在用户发现这些问题之前先发现这些问题!

meminfo和free

  meminfo为你详细显示了内存方面的情况。你通常可以使用另一个程序,比如cat和grep,来访问meminfo的信息。比如说,cat /proc/meminfo为你详细显示了服务器的内存在任何一个时间的使用情况。

  如果想快速了解内存的概要信息,可以使用free命令。简而言之,free为你提供了概要信息;meminfo为你提供了详细信息。

 mpstat

  mpstat命令可以报告多处理器服务器上每个可用处理器的活动情况。如今,由于多核处理器,这个命令适用于几乎所有服务器。mpstat还可以报告所有服务器上的处理器的平均活动情况。它让你能够按照系统或按照处理器来显示总的处理器统计信息。这个概要信息可以在潜在的应用程序问题惹毛用户之前提醒你注意。

netstat

  netstat与ps一样,也是Linux管理员每天都使用的Linux工具。它显示了与网络有关的大量信息,比如套接口使用情况、路由、接口、协议、网络统计信息及更多信息。最常用的一些选项如下:

  -a 显示套接口的所有信息

  -r 显示路由信息

  -i 显示网络接口的统计信息

  -s 显示网络协议的统计信息

nmon

  nmon是Nigel’s Monitor的简称,这款广受欢迎的开源工具用来监控Linux系统的性能。nmon可以监控多个子系统的性能信息,比如处理器使用率、内存使用率、运行队列的信息、磁盘输入/输出统计信息、网络输入/输出统计信息、内存分页活动和进程衡量指标。然后,你可以通过curses“图形化”界面,查看nmon的实时系统衡量结果。

想运行nmon,你可以从外壳来启动该工具。一旦启动,只要输入单键命令,就可以选择要监控的子系统。比如说,想获得处理器、内存和磁盘等方面的统计信息,只要分别输入c、m和d。也可以使用带-f标志的nmon,将性能统计信息保存到CSV文件中,以便日后分析。

  就日常的服务器监控而言,我觉得nmon是我的Linux系统管理工具包中最有用的一个程序。

pmap

  pmap命令用来报告服务器的进程所使用的内存量。你可以用这个工具来确定服务器上哪些进程被分配了内存、这些进程中有谁在大量使用内存。

ps和pstree

  ps和pstree这两个命令是Linux系统管理员的两个得力助手。它们都能以列表的形式显示所有目前在运行的进程。ps可以告诉你服务器的程序在使用多少的内存和处理器时间。pstree显示的信息比较少,但着重表明了哪些进程是其他进程的子进程。掌握了这些信息,你就能发现失控的进程,然后用Linux“不留活口”的kill命令,来终止这些进程。

sar

  sar程序好比是系统监控工具领域的瑞士军刀。sar命令实际上由三个程序组成:显示数据的sar、收集数据的sa1以及保存数据的sa2。一旦安装完毕,sar就能生成详细的概要信息,显示处理器使用率、内存分页活动、网络输入/输出和传输方面的统计信息、进程创建活动以及磁盘设备活动。sar和nmon的一大区别在于,前者更适合长期监控系统,我觉得nmon则比较适合帮助我快速查看服务器的运行状况。

strace

  strace 经常被认为是程序员的调试工具,但它的功用不仅仅用来调试。它可以截获和记录进程调用系统的情况。因而,它是一个实用的诊断、教学和调试工具。比如说,你可以使用strace来查出某个程序在启动时实际上使用哪个配置文件。

  不过strace的确有一个缺陷。它在检查某个进程时,该进程的性能会一落千丈。因而,只有在我已经有极其充分的理由认为某个程序引起问题的情况下,才使用strace。

tcpdump

  tcpdump是一个简单而可靠的网络监控实用工具。其基本的协议分析功能让你能够粗略查看网络上的情况。不过想真正深入分析网络方面的情况,你应该使用Wireshark(下面有介绍)。

top

  top命令显示了活动进程方面的情况。默认情况下,它显示了服务器上运行的最消耗处理器的任务,而且每5秒钟就刷新一次列表。你还可以按多个标准对进程进行分类,比如PID(进程ID);年限,最新的列在最前面;时间,按累计时间;以及驻留内存使用情况和自启动以来一直使用处理器的总时间。我觉得它提供了一种快速而简易的方法,便于查看有没有进程开始即将失控、带来问题。

uptime

  uptime可用来查看某台服务器运行了多久、有多少个用户登录上去。它还显示了服务器平均负载的概要信息。负载的最佳值是1或更小,这意味着每个进程可以立即访问处理器、不存在处理器周期丢失的情况。

vmstat

  大体上来说,你可以使用vmstat来监控虚拟内存方面的情况。Linux不断使用虚拟内存,以获得最佳的存储性能。

  如果你的应用程序在占用过多的内存,你就会遇到频繁被换出内存(page-out)的情况——即程序从内存进入到系统硬驱上的交换空间。你的服务器可能会进入到这个阶段:花在管理内存分页上的时间比花在运行应用程序上的时间还多——这种情况被称为抖动(thrashing)。当你的电脑抖动时,性能就一落千丈。Vmstat可以显示平均的数据或实际样本,可以帮助你发觉大量耗用内存的程序和进程,以免它们导致服务器运行起来如同蜗牛缓行。

Wireshark

  Wireshark之前名为Ethereal(而且现在仍经常这么叫),是tcpdump的同类工具,不过它更为高级,拥有先进得多的协议分析和报告功能。Wireshark既有GUI界面,又有外壳界面。如果你从事专业级的网络管理工作,只能使用ethereal。而如果你在使用Wireshark/ethereal,我强烈建议阅读Chris Sander所著的《实用数据包分析》(Practical Packet Analysis),该书深入浅出地介绍了如何最充分地利用这款实用程序。

时间: 2024-12-23 21:15:06

CentOS服务器的16个监控命令的相关文章

[转载]你需要知道的 16 个 Linux 服务器监控命令

转载自: 你需要知道的 16 个 Linux 服务器监控命令 如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员. 有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST,KDE 的 KDE System Guard 同样很出色.当然,要使用这些工具,你必须在服务器跟前进行操作,而且这些 GUI 的程序占用了很多系统资源,所以说,尽管 GUI

centos服务器如何监控访问ip,并将非法ip通过防火墙禁用

centos服务器如何监控访问ip,并将非法ip通过防火墙禁用 上周给朋友帮忙,上架了一款小游戏(年年有鱼),项目刚一上线,就遇到了ddos攻击,阿里云连续给出了6次ddos预警提示,服务器一度处于黑洞状态,很是无奈... 基于此,我学习了一下centos服务器监控访问ip,并通过防火墙禁用ip 使用iftop查看访问ip 我们在shell直接输入iftop,有可能会提示我们无此命令,这时我们需要安装iftop yum install iftop -y 如图: 效果 iptables 禁用非法i

jmeter学习之路02(Linux服务器监控命令)

1.性能指标:CPU,内存,网络,磁盘,版本,2.linux常用命令:man,ls,ll, top: -h:帮助 -p:监控指定进程 m p: cpu重指数:us,ni old orange3.linux监控命令--CPU: vmstat:可以监控系统 的进程状态,内存,虚拟内存,磁盘IO,CPU,语法:vmstat [-a][-n][-S unit][delay[count]] -S:指定单位 free:监控内存使用状态,total:总计屋里内存大小:Used:已使用多大:Free:可使用多少

CentOS下使用MyTop实时监控MySQL

CentOS下使用MyTop实时监控MySQL MyTop的项目页面为:http://jeremy.zawodny.com/mysql/mytop/ MyTop安装 $ yum -y install mytop #epel源 MyTop命令参数 $ man mytop -u / --user <USERNAME>:指定 username,预设是 root -p / --pass / --password <PASSWORD>:指定password,预设是none -h / --ho

linux系统监控命令

ps命令 命令:ps -mp pid -o THREAD,tid,time   或者  ps -Lfp pid 结果展示: 这个命令的作用,主要是可以获取到对应一个进程下的线程的一些信息. 比如你想分析一下一个java进程的一些运行瓶颈点,可以通过该命令找到所有当前Thread的占用CPU的时间,也就是这里的最后一列. 比如这里找到了一个TID : 30834 ,所占用的TIME时间最高. 通过 printf "%x\n" 30834 首先转化成16进制, 继续通过jstack命令du

常用的linux系统监控命令

常用的linux系统监控命令 博客分类: linux 服务器 记录一下自己常用的linux系统命令,方便以后查阅,发觉记忆越来越不行了 找到最耗CPU的java线程 ps命令 命令:ps -mp pid -o THREAD,tid,time   或者  ps -Lfp pid 结果展示: 这个命令的作用,主要是可以获取到对应一个进程下的线程的一些信息. 比如你想分析一下一个java进程的一些运行瓶颈点,可以通过该命令找到所有当前Thread的占用CPU的时间,也就是这里的最后一列. 比如这里找到

JVM监控命令详解(转)

JVM监控命令基本就是 jps.jstack.jmap.jhat.jstat 几个命令的使用就可以了 JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jstack.jmap.jhat.jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解. 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Conte

Linux系统资源监控命令

Linux系统资源监控命令 上一篇 / 下一篇  2009-09-04 17:04:49 查看( 1294 ) / 评论( 0 ) / 评分( 0 / 0 ) 想用LR监控Linux来着,可是得先在Linux服务器上装一堆乱七八糟的东西,由于本人之前对Linux不太了解,半天也没装上,时间紧迫,只好先弄出一套人工监控Linux系统资源的命令…… 衡量CPU性能的指标: 1,用户使用CPU的情况:CPU运行常规用户进程CPU运行niced processCPU运行实时进程 2,系统使用CPU情况:

搭建yum本地源_阿里云CentOS服务器初始化设置

CentOS服务器初始化设置其实不分阿里云或其它服务器了,操作配置过程与步骤也差不多一.挂载硬盘 1.磁盘分区 fdisk -l #查看设备,一般可以看到设备名为/dev/xvdb fdisk /dev/xvdb #对磁盘进行分区 输入n #创建新分区 输入p #创建主分区 输入1 #创建第一个主分区 输入w #保存并执行以上命令,创建分区 待上面的命令执行完成之后,使用fdisk -l查看,会看到类似 /dev/xvdb1的分区 说明分区成功. 2.磁盘格式化 mkfs.ext4 /dev/x