Linux资源监控常用指令.docx

上传人:b****1 文档编号:19082646 上传时间:2023-04-24 格式:DOCX 页数:12 大小:394.72KB
下载 相关 举报
Linux资源监控常用指令.docx_第1页
第1页 / 共12页
Linux资源监控常用指令.docx_第2页
第2页 / 共12页
Linux资源监控常用指令.docx_第3页
第3页 / 共12页
Linux资源监控常用指令.docx_第4页
第4页 / 共12页
Linux资源监控常用指令.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Linux资源监控常用指令.docx

《Linux资源监控常用指令.docx》由会员分享,可在线阅读,更多相关《Linux资源监控常用指令.docx(12页珍藏版)》请在冰豆网上搜索。

Linux资源监控常用指令.docx

Linux资源监控常用指令

Linux系统由若干主要物理组件组成,如CPU、内存、网卡和存储设备。

要有效地管理Linux环境,您应该能够以合理的精度测量这些资源的

各种指标—每个组件处理多少资源、是否存在瓶颈等。

 下面我们介绍下linux资源监控有关的一些命令:

内存:

top、free、vmstat、mpstat、iostat、sar、pmap

 

CPU:

 top、vmstat、mpstat、iostat、sar 

 

I/O :

vmstat、mpstat、iostat、sar 

 

进程:

ipcs、ipcrm

系统运行负载:

uptime、w

1,top

运行top命令后,CPU使用状态会以全屏的方式显示,并且会处在对话的模式–用基于top的命令,可以控制显示方式等等。

退出top的命令为q(在top运行中敲q键一次)。

作用:

top命令用来显示执行中的程序进程,使用权限是所有用户。

格式:

top[-][ddelay][q][c][S][s][i][n]

主要参数:

d:

指定更新的间隔,以秒计算。

q:

没有任何延迟的更新。

如果使用者有超级用户,则top命令将会以最高的优先序执行。

c:

显示进程完整的路径与名称。

S:

累积模式,会将己完成或消失的子行程的CPU时间累积起来。

s:

安全模式。

i:

不显示任何闲置(Idle)或无用(Zombie)的行程。

n:

显示更新的次数,完成后将会退出top。

第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载(最近1,5,15分钟)。

第二行显示的是所有启动的进程、目前运行的、挂起(Sleeping)的和无用(Zombie)的进程。

第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例。

第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。

第五行显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小。

第六行显示的项目最多,下面列出了详细解释。

PID(ProcessID):

进程标示号。

USER:

进程所有者的用户名。

PR:

进程的优先级别。

NI:

进程的优先级别数值。

VIRT:

进程占用的虚拟内存值。

RES:

进程占用的物理内存值。

SHR:

进程使用的共享内存值。

S:

进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。

%CPU:

该进程占用的CPU使用率。

%MEM:

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

TIME+:

该进程启动后占用的总的CPU时间。

Command:

进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。

top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。

这些命令是通过快捷键启动的。

<空格键>:

立刻刷新。

P:

根据CPU使用大小进行排序。

T:

根据时间、累计时间排序。

q:

退出top命令。

m:

切换显示内存信息。

t:

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

c:

切换显示命令名称和完整命令行。

M:

根据使用内存大小进行排序。

W:

将当前设置写入~/.toprc文件中。

这是写top配置文件的推荐方法。

top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。

2,uptime命令

作用:

Unix命令,显示系统已经运行了多长时间。

它依次显示下列信息:

当前时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

一般loadavarage<3系统良好,大于5则有严重的性能问题,平均负载的最佳值是1,这意味着每个进程都可以立

即执行不会错过CPU周期。

注意,这个值还应当除以CPU数目。

如果loadavarage=8,CPU=3,8/3=2.666,

2.66这个值表示系统状态良好.

提示:

你可以使用w命令来代替uptime。

w也提供关于当前系统登录用户和用户所进行工作的相关信息。

3,free

作用:

free命令用来显示内存的使用情况,使用权限是所有用户。

格式:

free[-b-k-m][-o][-sdelay][-t][-V]

主要参数:

-b-k-m:

分别以字节(B、KB、MB)为单位显示内存使用情况。

-sdelay:

显示每隔多少秒数来显示一次内存使用情况。

-t:

显示内存总和列。

-o:

不显示缓冲区调节列。

举例:

free命令是用来查看内存使用情况的主要命令。

和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。

通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。

如下:

free-s2-m使用这个命令后终端会连续不断地报告内存使用情况(以MB为单位),每2秒更新一次。

此外为了获得详细的内存信息可以查看/proc/meminfo.Meminfo可让你获取内存的详细信息,你可以使用cat和grep命令来显示

meminfo信息:

cat/proc/meminfo

4,vmstat 

你可以使用vmstat来监控虚拟内存,一般Linux上的开发者喜欢使用虚拟内存来获得最佳的存储性能。

该命令报告关于内核线程、

虚拟内存、磁盘、陷阱和CPU活动的统计信息。

由vmstat命令生成的报告可以用于平衡系统负载活动。

系统范围内的这些统计

信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。

一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如:

 vmstat 

 interval  是两次运行之间的时间间隔,以秒为单位。

count    是vmstat重复的次数。

 

 比如我们希望vmstat每隔5秒运行一次并在第2次运行后停止时的示例。

 每5秒之后都会输出一行并显示此时的统计信息。

该输出显示有关系统资源的信息:

 procs 显示进程数 

  r     等待运行的进程。

系统上的负载越多,等待运行CPU周期的进程数量越多。

 

  b     不可中断睡眠的进程,也称为“被阻塞”的进程。

这些进程最有可能等待I/O,但也可能等待其他事情。

 

wpd,free,buff,cache显示了内存值

  wpd   虚拟内存或交换内存的数量(以KB为单位) 

  free  可用物理内存的数量(以KB为单位) 

  buff  用作缓冲区的内存数量(以KB为单位) 

  cache 用作缓存的物理内存数量(以KB为单位) 

siso显示了交换活动:

 

  si    将内存从磁盘交换回物理RAM的速率(以KB/秒为单位) 

  so    将内存从物理RAM交换到磁盘的速率(以KB/秒为单位) 

bi,bo显示了I/O活动:

 

  bi    系统向块设备发送数据的速率(以块/秒为单位) 

  bo    系统从块设备中读取数据的速率(以块/秒为单位) 

in,cs显示了系统相关活动:

 

  in    系统每秒接收到的中断数 

  cs    在进程空间中切换上下文的速率(以数量/秒为单位) 

us,sy,id,wa显示了CPU负载的信息:

  

  us    显示花费在用户进程中的CPU百分比。

Oracle进程属于这一类。

 

  sy    系统进程(如所有根进程)使用的CPU百分比 

  id    可用CPU百分比 

  wa    花费在“等待I/O”上的百分比  

理想情况下,等待或阻塞的进程数量(位于“procs”下)应该为0或接近于0。

 如果数值较高,则表示系统没有足够的资源

(如CPU、内存或I/O)。

  

如果您看到“proc”和“b”列(正在阻塞的进程)下有较大的数值和较高的I/O,则可能出现了严重的I/O争用问题。

  

“swap”下的数据表明交换是否过多。

如果交换过多,则表明物理内存可能不足。

应该减少内存需求或增加物理RAM。

 

“io”下的数据表示往返于磁盘的数据流。

这表明正在进行的磁盘活动量,这并不一定表明存在问题。

 

“cpu”标题下是最有用的信息。

“id”列显示空闲CPU。

如果用100减去该数值,则会得到繁忙CPU的百分比。

CPU的空闲百分比(和top的区别):

top显示每个CPU的空闲百分比,而vmstat显示所有CPU的空闲百分比。

 

如果系统显示较高的数值,请使用top命令确定占有CPU的系统进程。

5,mpstat 

mpstatmpstat是MultiProcessorStatistics的缩写,是实时系统监控工具。

其报告与CPU的一些统计信息,这些信息存放在/proc/stat

文件中。

在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。

语法:

mpstat[{-d|-i|-s|-a}][-w][interval[count]]

描述:

mpstat命令收集和显示系统中所有逻辑CPU的性能统计信息。

用户既可以定义统计信息显示的次数,也可以定义数据更新的

时间间隔。

调用mpstat命令时,它显示两部分的统计信息。

第一部分显示系统配置,在命令开始执行时以及只要系统配置发生更改时

显示。

第二部分显示使用率统计数据,每隔一定时间间隔显示,并且只要度量值与上一时间间隔有变化便会重新显示。

让我们看一看这些列值的含义:

%user   表示处理用户进程所使用CPU的百分比。

用户进程是用于应用程序(如Oracle数据库)的非内核进程。

 

               在本示例输出中,用户CPU百分比非常低。

 

%nice   表示使用nice命令对进程进行降级时CPU的百分比。

在之前的部分中已经对nice命令进行了介绍。

简单来说,nice命令更改进程的优先级。

 

%system  表示内核进程使用的CPU百分比 

%iowait  表示等待进行I/O所使用的CPU时间百分比 

%irq     表示用于处理系统中断的CPU百分比 

%soft    表示用于软件中断的CPU百分比 

%idle    显示CPU的空闲时间 

%intr/s  显示每秒CPU接收的中断总数

 vmstat和mpstat的区别:

mpstat可以显示每个处理器的统计, 而vmstat显示所有处理器的统计。

因此,编写比较差的应用程序(不使用多线程体系结构)

可能会运行在一个多处理器机器上, 而不使用所有处理器。

从而导致一个CPU过载,而其他CPU却很空闲。

通过mpstat可以轻松诊断这些类型的问题。

6,netstat

Netstat和ps命令类似,是Linux管理员基本上每天都会用的工具,它显示了大量跟网络相关的信息,例如socket的使用、路由、接口、协议、网络等等,

下面是一些常用的参数:

-a(all)显示所有选项,默认不显示LISTEN相关

-t(tcp)仅显示tcp相关选项

-u(udp)仅显示udp相关选项

-n拒绝显示别名,能显示数字的全部转化成数字。

-l仅列出有在Listen(监听)的服務状态

-p显示建立相关链接的程序名

-r显示路由信息,路由表

-e显示扩展信息,例如uid等

-s按各个协议进行统计

-c每隔一个固定时间,执行该netstat命令。

提示:

LISTEN和LISTENING的状态只有用-a或者-l才能看到

具体详情参考链接:

7,iostat 

性能评估的一个主要部分就是磁盘性能。

iostat 命令提供了存储接口的性能指标,通常用它来监控磁盘I/O的情况。

要特别注意iostat统

计结果中的%iowait值,太大了表明你的系统存储子系统性能低下。

输出的开始部分显示了可用CPU和I/O等待时间等指标,与您在mpstat命令中看到的相同。

输出的下一部分显示对系统上每个磁盘设备非常重要的指标。

让我们看一看这些列的含义:

tps         每秒的传输数量,例如,每秒的I/O操作数。

注:

这只是I/O操作的数量;每个操作可能非常大,也可能非常小。

 

Blk_read/s  每秒从该设备读取的块数。

通常,块的大小为512字节。

这是一个磁盘利用率较好的值。

   

Blk_wrtn/s  每秒写入该设备的块数 

Blk_read    到目前为止从该设备读取的块数。

注意,这并不是正在发生的情况。

很多块已经从该设备读取。

 

            可能现在什么也没有读取。

观察一段时间,看是否有变化。

 

Blk_wrtn    写入该设备的块数。

 

可以通过将该设备作为参数传递只获得特定设备的指标。

如iostatvda

具体详细内容参见:

8,sar

sar 代表 System Activity Recorder。

sar程序是系统监控工具里的瑞士军刀。

该程序包含三个工具:

sar用来显示数据,sa1和sa2用来收集数据并保存。

sar可用来显示

CPU使用率、内存页数据、网络I/O和传输统计、进程创建活动和磁盘设备的活动详情。

sar和nmon最大的不同就是sar跟适合用作

长期的监控。

sar它在一个特殊的位置(/var/log/sa目录)记录Linux系统的主要组件(CPU、内存、磁盘、网络等)的指标。

 

每天的数据记录在一个名为sa的文件中,其中是每月中的第nn天(两位数字)。

 

例如,文件sa27包含该月第27日的数据。

可以通过sar命令查询该数据。

 

详情参见:

8,ps和pstree

ps和pstree命令是Linux系统管理员最好的朋友,都可以用来列表正在运行的所有进程。

ps告诉你每个进程占用的内存和CPU处理时间,

而pstree显示的信息没那么详细,但它以树形结构显示进程之间的依赖关系,包括子进程信息.一旦发现某个进程有问题,你可以使用kill来杀掉它。

ps是个很有用的命令,可以man一下查看详情。

9,pmap

pmap命令用来报告每个进程占用内存的详细情况,可用来看是否有进程超支了,该命令需要进程id作为参数。

10,strace

strace经常被认为是程序员调试的工具,但不止如此。

它可以记录进程进行系统调用的详情,因此它也是一个非常好的诊断工具,例如你可以使用

它来找出某个程序正在打开某个配置文件。

Strace也有一个缺陷,但它在跟踪某个进程时会让该进程的性能变得非常差,因此请谨慎使用。

11,tcpdump

Tcpdump是一个简单、可靠的网络监控工具,用来做基本的协议分析,看看那些进程在使用网络以及如何使用网络。

当然,如果你要获取跟详细的信息,

你应该使用Wireshark(比较好用).

12,ipcs、ipcrm

ipcs-分析消息队列、共享内存和信号量

它的语法:

ipcs[-mqs][-abcopt][-Ccore][-Nnamelist]

-m输出有关共享内存(sharedmemory)的信息

-q输出有关信息队列(messagequeue)的信息

-s输出信号量(semaphore)的信息

ipcrm-删除ipc(清除共享内存信息)

它的语法:

ipcrm-m|-q|-sshm_id

-m输出有关共享内存(sharedmemory)的信息

-q输出有关信息队列(messagequeue)的信息

-s输出信号量(semaphore)的信息

shm_id共享内存id

#ipcrm-m501

好了,先介绍到这里以上这些神器需要常用才能够熟练!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1