zoukankan      html  css  js  c++  java
  • 管理员必备的Linux系统监控工具

    管理员必备的Linux系统监控工具

    #1: top - 进程活动

      top提供一个当前运行系统实时动态的视图,

      也就是正在运行进程。在默认情况下,显示系统

      中CPU使用率最高的任务,并每5秒钟刷新一次。

      #2: vmstat -系统活动、硬件及系统信息

      使用vmstat命令可以得到关于进程、内存、

      内存分页、堵塞IO、traps及CPU活动的信息。

      #3: w - 显示谁已登录,他们正在做什么?

      w命令显示系统当前用户及其运行进程的信息。

      #4:uptime - 告诉系统已经运行了多久?

      uptime命令过去只显示系统运行多久。现在,

      可以显示系统运行多久、当前有多少的用户登录、

      在过去的1,5,15分钟里平均负载时多少。

      #5:ps - 显示进程

      ps命令显示当前运行进程的快照。使用-A或-

      e 显示所有进程。ps 与 top 非常相似,但ps 提

      供更多的信息。

      #6: free - 内存使用情况

      free命令显示系统中空闲的、已用的物理内存

      及swap内存,及被内核使用的buffer。

      #7: iostat - CPU平均负载,硬盘活动

      iostat命令可报告中央处理器(CPU)的统计

      信息,各种设备、分区及网络文件系统输入/输出

      的统计信息。

      #8: sar - 搜集和报告系统活动

      sar命令用来搜集、报告和储存系统活动信息。

      #9:mpstat - 多处理器使用率

      mpstat命令可以显示所有可用处理器的使用

      情况,处理器编号从 0开始。mpstat -P ALL 显

      示每个处理器的平均使用率。

      #10: pmap - 进程的内存使用

      pmap命令可以显示进程的内存映射,使用这

      个命令可以找出造成内存瓶颈的原因。

      #11:netstat - 网络相关信息

      netstat 可以显示网络链接、路由表信息、接

      口统计信息、伪装链接和多播成员(multicast

      memberships)

      #12:ss - 网络相关信息

      ss命令用来显示网络套接字信息,它允许显示

      类似netstat一样的信息。

      #13: iptraf - 网络实时信息

      iptraf是一个可交互式的IP网络监控工具。它

      可以生成多种网络统计信息包括:TCP 信息、

      UDP数量、ICMP和OSPF信息、以太网负载信

      息、节点状态、IP校验错误等。

      #14:tcpdump:详细的网络流量分析

      tcpdump 是一个简单网络流量转储工具,然

      而要使用好需要对TCP/IP协议非常熟悉。

      #15:strace - 系统调用

      追踪系统调用和型号,这对于调试 Web服务

      器和其他服务器非常有用。了解怎样追踪进程和

      他功能。

      #16:/proc文件系统 - 各种内核信息

      /proc目录下文件提供了很多不同硬件设备和

      内核的详细信息。

      #17:Nagios - 服务器及网络监控

      Nagios 是一款非常流行的系统及网络监控软

      件。你可以轻松监控所有的主机、网络设备及服

      务。它能在发生故障和重新恢复后发送警讯。

      #18:Cacti - 基于Web的监控工具

      Cacti是一套完成的网络图形化解决方案,基

      于RRDTool的资料存储和图形化功能。Cacti提

      供一个快速的轮询器、进阶的图形化模板、多种

      数据采集方法和用户管理功能。这些功能都拥有

      非常友好易用的界面,确保可以部署在一个包含

      数百台设备的复杂网络中。它提供关于网络

      CPU、内存、已登录用户、Apache、DNS等信

      息。

      #19:KDE System Guard

      KSysguard 是在 KDE 桌面下一个网络化的系

      统监控工具。这个工具可以通过SSH会话运行。

      它提供很多功能,例如可以监控本机和远程主机

      的客户端/服务器架构,前端图形界面使用所谓传

      感器得到信息并展现出来。传感器返回的可以是

      一个简单的数值或是一组表格的信息。针对不同

      的信息类型,提供一个或多个显示。这些显示被

      组织多个工作表中,可以工作表可以独体储存和

      加载。所以,KSysguard不只是一个简单的任务

      管理器,还是一个可以控制多台服务器的强大工

      具。

      #20:Gnome System Monitor

      System Monitor可以显示系统基本信息、监

      控系统进程、系统资源及文件系统使用率。你也

      可以使用System Monitor监控和修改系统行为。

      尽管没有KDE System Guard功能强大,但其提

      供的基本信息对于入门用户还是非常有用的。

      Linux常用监控命令简介 - top

      指令介绍

      -b : 批次模式运行。

      -c : 显示执行任务的命令行。

      -d : 设定延迟时间

      -h : 帮助

      -H : 显示线程。将显示所有进程产生的线程。

      -i : 显示空闲的进程。

      -n : 执行次数。一般与-b搭配使用

      -u : 监控指定用户相关进程

      -U : 监控指定用户相关进程

      -p : 监控指定的进程。

      -s : 安全模式操作

      -S : 累计时间模式

      -v : 显示top版本,然后退出。

      -M : 自动显示内存单位(k/M/G)

      top作为日常管理工作中最常用也是最重要的

      Linux 系统监控工具之一,可以动态观察系统进

      程状况。top命令显示的项目很多,默认值是每

      5秒更新一次,按q键可以退出。显示的各项目

      为:

      输出数值解读 为:

      15:06:57 up 129 days, 19:03, 5 users, load average: 1.21, 1.20, 1.25

      uptime 该项显示的是系统启动时间、已经运行的时间和三个平均负载值(最近1秒,5秒,15秒的

      负载值)。

      222 processes: 219 sleeping, 2 running, 1 zombie, 0 stopped

      processes 自最近一次刷新以来的运行进程总数。这些进程被分为正在运行的,休眠的,停止的。

      CPU states: cpu user nice system irq softirq iowait idle

       total 0.9% 0.0% 27.4% 0.0% 0.0% 0.2% 71.2%

       cpu00 1.9% 0.0% 19.4% 0.0% 0.0% 0.0% 78.6%

       cpu01 0.0% 0.0% 33.0% 0.0% 0.0% 0.0% 66.9%

       cpu02 1.9% 0.0% 22.3% 0.0% 0.0% 0.9% 74.7%

       cpu03 0.0% 0.0% 35.2% 0.0% 0.0% 0.0% 64.7%

      CPU states 显示用户模式,系统模式,优先级进程(只有优先级为负的列入考虑)和闲置等各种

      情况所占用CPU时间的百分比。优先级进程所消耗的时间也被列入到用户和系统的时间中,所以总

      的百分比将大于100%。

      Mem: 16214336k av, 15682832k used, 531504k free, 0k shrd, 215016k buff

       10896844k actv, 3379680k in_d, 446432k in_c

      Mem 内存使用情况统计,其中包括总的可用内存,空闲内存,已用内存,共享内存和缓存所占内存

      的情况。

      Swap: 10482404k av, 0k used, 10482404k free 14856500k cached

      Swap 交换空间统计,其中包括总的交换空间,可用交换空间,已用交换空间。

      PID USER PRI NI SIZE rss SHARE STAT %CPU %MEM TIME CPU COMMAND

      27869 root 25 0 460M 460M 455M R 25.0 2.9 12559m 1 vmware-vmx

      31819 root 16 0 6016 6016 5048 S 1.6 0.0 17573m 2 magicdev

      27837 root 15 -10 460M 460M 455M S < 0.7 2.9 1328m 0 vmware-vmx

      27868 root 15 -10 460M 460M 455M S < 0.3 2.9 644:35 3 vmware-vmx

      PID 每个进程的ID。PPID 每个进程的父进程ID。UID 每个进程所有者的UID 。

      USER 每个进程所有者的用户名。

      PRI 每个进程的优先级别。

      NI 该进程的优先级值。

      SIZE 该进程的代码大小加上数据大小再加上堆栈空间大小的总数。单位是KB。

      TSIZE 该进程的代码大小。对于内核进程这是一个很奇怪的值。

      DSIZE 数据和堆栈的大小。

      TRS 文本驻留大小。

      D 被标记为“不干净”的页项目。

      LIB 使用的库页的大小。对于ELF进程没有作用。

      RES 该进程占用的物理内存的总数量,单位是KB。

      SHARE 该进程使用共享内存的数量。

      STAT 该进程的状态。S=休眠;D=不可中断的休眠;R=运行;Z=僵死;T=停止或跟踪。

      TIME 该进程自启动以来所占用的总CPU时间。如果进入的是累计模式,那么该时间还包括这个进程

      子进程所占用的时间。且标题会变成CTIME。

      %CPU 该进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。

      %MEM 该进程占用的物理内存占总内存的百分比。

      COMMAND 该进程的命令名称,如果一行显示不下,则会进行截取。内存中的进程会有一个完整的命

      令行。

      :Linux常用监控命令简介 – vmstat,ps等

      vmstat [-a] [-n] [delay [ count]]

      vmstat [-f] [-s] [-m]

      vmstat [-S unit]

      vmstat [-d]

      vmstat [-p disk partition]

      vmstat [-V]

      指令介绍

      -a:显示活跃和非活跃内存

      -f:显示从系统启动至今的fork数量 。

      -m:显示slabinfo

      -n:只在开始时显示一次各字段名称。

      -s:显示内存相关统计信息及多种系统活动数。

      delay:刷新时间间隔。如果不指定,只显示

      一条结果。

      count:刷新次数。如果不指定刷新次数,但

      指定了刷新时间间隔,这时刷新次数为无穷。

      -d:显示磁盘相关统计信息。

      -p:显示指定磁盘分区统计信息

      -S:使用指定单位显示。参数有 k , K, m, M,

      分别代表 1000, 1024, 1000000, 1048576

      字节。默认单位为K(1024 bytes)

      -V:显示vmstat版本信息。

      方便用法推荐

      每2秒输出一条结果

      vmstat 2

      显示活跃和非活跃内存

      vmstat -a 2

      输出数值解读

      (Procs)r: 运行队列中进程数量

      (Procs)b: 等待IO的进程数量

      (Memory)swpd: 使用虚拟内存大小

      (Memory)free: 可用内存大小

      (Memory)buff: 用作缓冲的内存大小

      (Memory)cache: 用作缓存的内存大小

      (Swap)si: 每秒从交换区写到内存的大小

      (Swap)so: 每秒写入交换区的内存大小

      (IO)bi: 每秒读取的块数

      (IO)bo: 每秒写入的块数

      (System)in: 每秒中断数,包括时钟中断。

      (System)cs: 每秒上下文切换数。

      (CPU)us: 用户进程执行时间(user time)

      (CPU)sy: 系统进程执行时间(system time)

      (CPU)id: 空闲时间(包括IO等待时间)

      (CPU)wa: 等待IO时间

      ps 命令

      ps [options]

      指令介绍

      -e 显示所有进程。

      -f 全格式。

      -h 不显示标题。

      -l 长格式。

      -w 宽输出。

      a 显示终端上的所有进程,包括其他用户的

      r 只显示正在运行的进程。

      x 显示没有控制终端的进程。

      方便用法推荐

      查看使用Vivek用户名运行的进程

      # ps -U vivek -u vivek u

      只显示Lighttpd的进程ID

      # ps -C lighttpd -o pid=

      找出消耗内存最多的前10名进程

      # ps -auxf | sort -nr -k 4 | head -10

      找出使用CPU最多的前10名进程

      # ps -auxf | sort -nr -k 3 | head -10

      free 命令

      free [-b|-k|-m][-o][-s delay][-t][-V]

      指令介绍

      -b 以Byte为单位显示内存使用情况。

      -k 以KB为单位显示内存使用情况。

      -m 以MB为单位显示内存使用情况。

      -o 不显示缓冲区调节列。

      -s<间隔秒数> 持续观察内存使用状况。

      -t 显示内存总和列。

      -V 显示版本信息。

      输出数值解读

      total used free shared buffers cached

      Mem: 3266180 3250004 16176 0 110652

      2668236

      -/+ buffers/cache: 471116 2795064

      Swap: 2048276 80160 1968116

      total:总计物理内存的大小。

      used:已使用多大。

      free:可用有多少。

      Shared:多个进程共享的内存总额。

      Buffers/cached:磁盘缓存的大小。

      used:已使用多大。

      free:可用有多少。

      uptime 命令

      uptime

      uptime [-V]

      输出数值解读

      18:02:41 up 41 days, 23:42, 1 user,

      load average: 0.00, 0.00, 0.00

      10:19:04:系统当前时间

      up 257 days, 18:56:主机已运行时间,时间越

      大,说明你的机器越稳定。

      12 user:用户连接数,是总连接数而不是用户

      数

      load average:系统平均负载,统计最近1, 5,

      15分钟的系统平均负载

      如果每个CPU内核的当前活动进程数不大于3的

      话,那么系统的性能是良好的。如果每个CPU内

      核的任务数大于5,那么这台机器的性能有严重

      问题。

     
     
    标签: linux
  • 相关阅读:
    Java菜鸟之java基础语法,运算符(三)
    Lotus迁移到Exchange 2010 POC 之Domino Server的配置!
    hibernate:对于java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I错误解决办法
    【targeting学习笔记】Display Advertising Targeting
    Domino 迁移到Exchange 之 Domino Admin 安装!
    sqlite3使用详解(Qt版本)
    .net反混淆脱壳工具de4dot的使用
    破解NET的四大神器(转)
    C#让应用程序只运行一个实例的几种方法
    Windows server 2008 R2实现多用户远程连接
  • 原文地址:https://www.cnblogs.com/the-tops/p/5682472.html
Copyright © 2011-2022 走看看