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
  • 相关阅读:
    11. Container With Most Water
    9. Palindrome Number
    375. 猜数字大小 II leetcode java
    leetcode 72 编辑距离 JAVA
    73. 矩阵置零 leetcode JAVA
    快速排序 JAVA实现
    63. 不同路径 II leetcode JAVA
    重写(override)与重载(overload)
    62 不同路径 leetcode JAVA
    leetcode 56 合并区间 JAVA
  • 原文地址:https://www.cnblogs.com/the-tops/p/5682472.html
Copyright © 2011-2022 走看看