Linux查看系统状态命令

 

    iostat

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

meminfo和free

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

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

  mpsta

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),该书深入浅出地介绍了如何最充分地利用这款实用程序。

系统 
# uname -a # 查看内核/操作系统/CPU信息 
# head -n 1 /etc/issue # 查看操作系统版本 
# cat /proc/cpuinfo # 查看CPU信息 
# hostname # 查看计算机名 
# lspci -tv # 列出所有PCI设备 
# lsusb -tv # 列出所有USB设备 
# lsmod # 列出加载的内核模块 
# env # 查看环境变量 
资源 
# free -m # 查看内存使用量和交换区使用量 
# df -h # 查看各分区使用情况 
# du -sh # 查看指定目录的大小 
# grep MemTotal /proc/meminfo # 查看内存总量 
# grep MemFree /proc/meminfo # 查看空闲内存量 
# uptime # 查看系统运行时间、用户数、负载 
# cat /proc/loadavg # 查看系统负载 
磁盘和分区 
# mount | column -t # 查看挂接的分区状态 
# fdisk -l # 查看所有分区 
# swapon -s # 查看所有交换分区 
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) 
# dmesg | grep IDE # 查看启动时IDE设备检测状况 
网络 
# ifconfig # 查看所有网络接口的属性 
# iptables -L # 查看防火墙设置 
# route -n # 查看路由表 
# netstat -lntp # 查看所有监听端口 
# netstat -antp # 查看所有已经建立的连接 
# netstat -s # 查看网络统计信息 
进程 
# ps -ef # 查看所有进程 
# top # 实时显示进程状态 
用户 
# w # 查看活动用户 
# id # 查看指定用户信息 
# last # 查看用户登录日志 
# cut -d: -f1 /etc/passwd # 查看系统所有用户 
# cut -d: -f1 /etc/group # 查看系统所有组 
# crontab -l # 查看当前用户的计划任务 
服务 
# chkconfig -list # 列出所有系统服务 
# chkconfig -list | grep on # 列出所有启动的系统服务 
程序 
# rpm -qa # 查看所有安装的软件包

Linux查看系统状态命令的更多相关文章

  1. Linux查看系统状态命令top

    用法 top 自动刷新系统状态,要结束使用[Ctrl]+[C] 效果图: 信息解释(转自百度经验http://jingyan.baidu.com/article/4d58d5412917cb9dd4e ...

  2. Linux 查看系统状态

    查看系统状态 命令:vmstat 命令:vmsta 1 10               #每1秒钟1次显示10次. r:几个进程在占用cpu b:等待IO值 Swpd:多少交换内存 free:剩余内 ...

  3. linux查看系统状态的命令

    vmstat查看机器实时的综合情况:load,内存,swap,cpu使用率等方面 procs: r:运行队列中进程数量 b:等待IO的进程数量 memory(内存): swpd:使用虚拟内存大小 fr ...

  4. Linux查看Port状态命令、密钥SSH、会话同步

    查看Port状态 ss -ntl命令,参数: 参数 作用 -a 显示所有的套接字 -l 显示所有连接状态的套接字 -e 显示详细的套接字信息 -m 显示套接字的内存使用情况 -p 显示套接字的进程信息 ...

  5. linux 查看系统状态方法

    Linux下如何查看系统启动时间和运行时间 1.uptime命令输出:16:11:40 up 59 days, 4:21, 2 users, load average: 0.00, 0.01, 0.0 ...

  6. Linux查看系统状态及备份

    1. 如何看当前Linux系统有几颗物理CPU和每颗CPU的核数?cat /proc/cpuinfo将CPU的总核数除以物理CPU的个数,得到每颗CPU的核数.2. 查看系统负载有两个常用的命令,是哪 ...

  7. Red Hat Enterprise Linux查看系统版本命令

    # arch 返回结果为i686表示32位系统,x86_64表示64位系统. # uname -a # uname -r # lsb_release -a # cat /proc/version # ...

  8. Linux查看系统版本号及关机命令各种方法归纳

    shutdown -h now 立即关机halt 立即关机init 0 立即关机poweroff 立即关机shutdown -r now 重启reboot 重启logout 注销su - 命令切换身份 ...

  9. Linux查看系统当前登录用户的命令,top命令看到users有多个用户登录

    Linux查看系统当前登录用户的命令,top命令看到users有多个用户登录 作为系统管理员,top命令看到users有多个用户登录,会需要查看下是否被黑客进入了. 实战例子:top命令:top - ...

随机推荐

  1. oracle与mysql创建表时的区别

    oracle创建表时,不支持在建表时同时增加字段注释.故采用以下方式: #创建表CREATE TABLE predict_data as ( id integer ), mid ), time dat ...

  2. ubuntu 15.10 安装swift开发环境 2016/4/17

    ubuntu 15.10 64位 下载地址 https://swift.org/download/#using-downloads 1.首先在ubuntu终端上 (ctl+alt+t打开) 下载cla ...

  3. js中bind、call、apply函数的用法

    最近一直在用 js 写游戏服务器,我也接触 js 时间不长,大学的时候用 js 做过一个 H3C 的 web的项目,然后在腾讯实习的时候用 js 写过一些奇怪的程序,自己也用 js 写过几个的网站.但 ...

  4. 海量日志分析方案--logstash+kibnana+kafka

    下图为唯品会在qcon上面公开的日志处理平台架构图.听后觉得有些意思,好像也可以很容易的copy一个,就动手尝试了一下. 目前只对flume===>kafka===>elacsticSea ...

  5. ssl访问的原理

    本文无图文对照解释,但力求通俗易懂.请读者边读边手绘各个流程,一便于理解.      总体交互流程如下      1. 客户端发起HTTPS请求 这个没什么好说的,就是用户在浏览器里输入一个https ...

  6. 考前预习(Ubuntu配备)

    这几天考前预习,趁现在不想预习,写点之前就想写的东西吧. 贴一下个人认为有用的,在Ubuntu装机后的一些小事.不过挺杂的,主要是拿来给以后的自己看,以及让现在无聊的我有点事做. 首先,Ubuntu官 ...

  7. STM32F412应用开发笔记之三:SPI总线通讯与AD采集

    本次我们在NUCLEO-F412ZG试验模拟量输入采集.我们的模拟量输入采用ADI公司的AD7705,是一片16位两路差分输入的AD采集芯片.具有SPI接口,我们将采用SPI接口与AD7705通讯.两 ...

  8. 基础拾遗------webservice详解

    基础拾遗 基础拾遗------特性详解 基础拾遗------webservice详解 基础拾遗------redis详解 基础拾遗------反射详解 基础拾遗------委托详解 基础拾遗----- ...

  9. android系统release签名

    转自:http://blog.csdn.net/yangkai6121/article/details/38682321 为什么需要给Android系统签个名才能进行CTS认证呢?原来我们通过make ...

  10. 【Java EE 学习 67 下】【OA项目练习】【SSH整合JBPM工作流】【JBPM项目实战】

    一.SSH整合JBPM JBPM基础见http://www.cnblogs.com/kuangdaoyizhimei/p/4981551.html 现在将要实现SSH和JBPM的整合. 1.添加jar ...