你的位置:首页 > 网海拾贝

Linux系统监视工具

2016-05-15 浏览:(6370) 网海拾贝 评论(0)

大多数Linux发行版都集成了一些监视工具。这些工具可以获取有关系统活动的信息的详细指标。通过这些工具,你可以发现产生系统性能问题可能存在原因和找出系统瓶颈问题如磁盘、CPU、内存 、网络。

(1) top – 查看活动进程的命令以及常用的快捷键

-t   切换显示进程和 CPU 状态信息。

-m 切换显示进程和 CPU 状态信息。

-A 分类显示各种系统资源的消耗情况。可用于快速识别系统的性能要求极高的任务。

-o  改变显示项目的顺序。

-r  重新设置进程的优先级别。(系统提示用户输入需要改变的进程 PID 以及需要设置的优先级值。)

-k  终止一个进程。(系统将提示用户输入需要终止的进程 PID)

-s  改变刷新的时间间隔。

-u  查看指定用户的进程。

(2) vmstat – 系统活动、硬件以及系统信息

关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。

(3 )w – 找到已登陆的用户并且查看他们做了什么操作

(4) uptime – 系统已运行的时间

Uptime 命令可以查看系统已经运行了多长时间。截止当前时间日期,系统已经运行了多长

时间,当前登录的用户有哪些,已经在过去的 1,5,15 分钟,系统的平均负载值情况。

(5) ps – 显示进程

ps 命令用来报告当前进程的快照。要选择所有进程,使用-A 或-e 选项:

自定义查找进程

ps -ef | grep cpu

找出最耗费内存的前 10 个进程:

#ps-auxf|sort-nr-k4|head-10

找出最耗费 CPU 的前 10 个进程:

#ps-auxf|sort-nr-k3|head-10

(6) free – 查看内存的使用情况

free 指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以

及系统核心使用的缓冲区等。

参数:

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

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

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

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

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

-t   显示内存总和列。

-V 显示版本信息。

(7) iostat – 监视 CPU 平均负载值,I/O 状态

该命令用于报告 CPU 和输入/输出设备,分区和网络文件系统(NFS)的详细统计数据。

参数:

-d 表示,显示设备(磁盘)使用状态;

-k 某些使用 block 为单位的列强制使用 Kilobytes为单位;

1 10 表示,数据显示每隔 1 秒刷新一次,共显示 10 次。

(8) sar - 收集和报告系统状态信息

Sar命令是用来收集,报告和保存系统活动信息的。

Sar把自已收集的数据以二进制格式保存在/var/log/sa里

使用 sar-d可以得到当天磁盘活动的情况汇总

sar-n DEV则能给出网络接口的统计信息

sar-A可以报告所有的信息

sar适用于快速粗略了解历史信息。

sar命令行的常用格式: sar[options][-ofile]t[n]

options为命令行选项,sar命令的选项很多,下面只列出常用选项:

-A:所有报告的总和

-u:CPU利用率

-v:进程、I节点、文件和锁表状态

-d:硬盘使用报告

-r:没有使用的内存页面和硬盘块

-g:串口 I/O的情况

-b:缓冲区使用情况

-a:文件读写情况

-c:系统调用情况

-R:进程的活动情况

-y:终端设备活动情况

-w:系统交换活动。

(9) mpstat – 实时系统监视工具

mpstat 是实时系统监控工具。其报告与 CPU 的一些统计信息,这些信息存放在/proc/stat 文件中。在多 CPUs 系统里,其不但能查看所有 CPU 的平均状况信息,而且能够查看特定 CPU 的信息。

下面只介绍 mpstat 与 CPU 相关的参数,mpstat 的语法如下:

Usage:mpstat[options...][<interval>[<count>]]
Optionsare:
[-P{<cpu>|ALL}][-V]

显示每个进程对 CPU 的平均利用率:

#mpstat-PALL

(10) pmap – 查看进程使用内存的情况

pmap 命令用来报告进程使用对于的相应内存的情况。使用下面命令可以查出某些内存瓶颈问题的原因。

#pmap-dPID

显示进程号为 47394 的进程所用内存的信息:

#pmap-d47394

(11) netstat和 ss – 查看网络情况

netstat 命令显示网络连接,路由表,网络接口统计,伪装连接,组播成员身份。ss 命令类

似 netstat 命令的信息。

(12) iptraf – 实时网络状况监视工具

iptraf 是一款彩色的交互式的 IP 局域网监控工具。这是一个基于 ncurses 的 IP LAN 监视工具,它会统计网络中产生的各种数据,包括 TCP 信息,UDP 连接数,ICMP 和 OSPF 信息,以太网负载信息,节点统计,IP 校验和错误,以及其他信息。

(13) tcpdump – 网络状况分析工具

tcpdump 用来抓包的一个的简单命令。但是,要使用该工具,你需熟悉 TCP /IP 协议。例如:显示网络中有关 DNS 的信息,请输入:

#tcpdump-ieth1'udpport53'

显示去往 10.15.62.188 的所有 ftp 会话信息:

#tcpdump-ieth1'dst10.15.62.188and(port21or20'

显示去往 192.168.1.5 的所有 HTTP 会话信息:#tcpdump-nieth0'dst192.168.1.5andtcpandporthttp' 使用 Wireshark 查看 tcpdump 抓包文件的详细信息,输入:

#tcpdump-n-ieth1-s0-woutput.txtsrcordstport80

(14) strace – 系统调用工具

strace是 Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统呼叫及它所接收的系统信息。strace是一个有用的小工具,它可以通过跟踪系统调用来让你知道一个程序在后台所做的事情。Strace是一个基础的调试工具,在大多数 Linux系 统上默认已经安装;但是即便你不是在跟踪一个问题的时候它也是一个极好的软件。它能告诉你很多关于一个Linux程序怎样工作的信息

(15) Proc 文件系统

Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。几个例子:

#cat/proc/cpuinfo
#cat/proc/meminfo
#cat/proc/zoneinfo
#cat/proc/mounts

Related: 要更详细地去了解/proc 文件系统,你可以去查看官方文档。

(16) Nagios – 服务器和网络信息监视工具Nagios 是一款很流行的开源系统和网络监控应用软件。你可以很轻松地用它监控所有的主机,网络设备和服务。在系统或服务状态异常时会第一时间通知网站运维人员(发出邮件或短信报警),在状态恢复正常后发出邮件或短信通知。

(17) Cacti -基于 WEB 的监视工具

(18) KDE System Guard – 图形化的系统监视工具

(19) Gnome System Monitor – 图形化系统监视工具

(20) nmap –  扫描主机的端口开放情况.

(21) lsof -列出系统当前打开的文件,网络连接以及更多信息。

(22) ntop web based tool – Ntop 是一款监控网络流量工具,它显示的网络状况更加直观、详细。Ntop 甚至可以列出每个节点计算机的网络带宽利用率。它是一个灵活的、功能齐全的,用来监控和解决局域网问题的工具;可以自动从网络中识别有用的信息;将截获的数据包转换成易于识别的格式;对网络环境中通信失败的情况进行分析;探测网络通信的时间和过程等。

(23) Conky -  Conky 是 x-window 下,一款免费的,轻量级系统监控的工具。它能够

监控许多系统环境的状态,其中包括的 CPU,内存,交换空间,磁盘存储,温度,

进程,网络接口,电池电量,系统消息,电子邮件收件箱等。

(24) GKrellM –它来用于监测 CPU 状态,内存,硬盘,网络接口,本地和远程邮箱,以及其他的东西等。

(25) vnstat – vnstat 是一个基于控制台的网络流量监控软件,它会保持每月,每天,每小时,监视并记录所选定网络接口的网络通信状况。

(26) htop – htop 是一个增强版本的 top,同时也是一个交互式进程查看器,它可以以树状结构来显示进程列表。

(27) mtr – mtr 在单一的网络诊断工具上,结合了 traceroute 和 ping 程序的功能。

  • 发表评论
  • 查看评论
【暂无评论!】

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。