码迷,mamicode.com
首页 > 系统相关 > 详细

linux系统管理的常用命令

时间:2015-04-17 15:58:27      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:linux系统管理

 

        w命令也用于显示登录到系统的用户情况,但是与who不同的是,w命令功能更加强大,它不但可以显示有谁登录到系统,还可以显示出这些用户当前正在进行的工作:

[root@hpf-linux ~]# w

 17:04:13 up  1:05,  2 users,  load average: 0.00, 0.00, 0.00

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT

root     tty1     -                15:59    1:04m  0.03s  0.03s -bash

root     pts/0    192.168.1.100    16:00    0.00s  0.07s  0.01s w

17:04:13   :当前时间

up  1:05:     系统启动到现在的时间

2 users:      登录用户的数目

load average: 0.00, 0.00, 0.00:   系统在最 近1分钟、5分钟和15分钟的平均负载 //此数据是衡量服务器负载的重要数据,若此数据小于CPU核心数则说明服务器运行无压力,一旦高于CPU核心数就说明服务器运行负载较大,需要查看是哪个进程占用CPU较多在进行处理。

USER:        登录帐号

TTY:            终端名称

FROM:       远程主机名

LOGIN@:  登录时间

IDLE:         空闲时间

WHAT :     当前正在运行进程的命令行

 

查看CPU的核心数:

[root@hpf-linux ~]# cat /proc/cpuinfo 

processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model  : 5
model name : AMD Athlon(tm) II X4 610e Processor
stepping : 3
cpu MHz  : 2410.880
cache size : 512 KB
physical id : 0
siblings : 1
core id  : 0
cpu cores : 1
apicid  : 0
initial apicid : 0
fdiv_bug : no

 以上参数中processor : 0 表示为线程,从0开始,8线程为(0-7)。

core id  : 0为物理核心数。

        ab命令是Apache的Web服务器的性能测试工具,它可以测试安装Web服务器每秒种处理的HTTP请求。

使用方法:./ab -c 100 -n 10000 http://127.0.0.1/index.php

-c:指定一次向服务器发出请求数; //每次并发100个
-n:指定测试会话使用的请求数;      //共发送10000个请求

 监控系统进程状态 – top
        top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.

命令参数:

-b 批处理

-c 显示完整的治命令

-I 忽略失效过程

-s 保密模式

-S 累积模式

-i<时间> 设置间隔时间

-u<用户名> 指定用户名

-p<进程号> 指定进程

-n<次数> 循环显示的次数

 

top - 17:40:12 up 1:41, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 73 total, 1 running, 72 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
Mem: 1030496k total, 99996k used, 930500k free, 27180k buffers
Swap: 2047996k total, 0k used, 2047996k free, 33840k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 2900 1376 1168 S 0.0 0.1 0:01.93 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.01 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0
6 root RT 0 0 0 0 S 0.0 0.0 0:01.28 watchdog/0
7 root 20 0 0 0 0 S 0.0 0.0 0:00.31 events/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pm
13 root 20 0 0 0 0 S 0.0 0.0 0:00.06 sync_supers

 

top前五行信息:

top - 17:40:12  :当前系统时间

up 1:41: 系统已经运行时间

2 users:当前有2个用户登录系统

load average: 0.00, 0.00, 0.00:系统负载,三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

Tasks: 73 total:进程总数

 1 running:正在运行的进程数

72 sleeping:睡眠的进程数

0 stopped:停止的进程数

0 zombie:僵尸进程数

Cpu(s):0.0%us:用户空间占用CPU的百分比

0.0%sy:内核空间占用CPU百分比

0.0%ni:用户进程空间内改变过优先级的进程占用CPU百分比

99.7%id:空闲CPU百分比

0.0%wa:IO等待占用CPU时间百分比

0.0%hi:硬中断(Hardware IRQ)占用CPU的百分比

0.3%si: 软中断(Software Interrupts)占用CPU的百分比

Mem: 1030496k total:物理内存总量

99996k used:使用的物理内存总量

930500k free:空闲内存总量

27180k buffers:用作内核缓存的内存量

Swap: 2047996k total:交换区总量

0k used:使用的交换区总量

 2047996k free:空闲交换区总量

33840k cached:缓冲的交换区总量

进程信息:

PID:进程id

USER:进程所有者

PR :进程优先级

NI : nice值。负值表示高优先级,正值表示低优先级。(取值范围负20到正19)

VIRT : 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES :进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR : 共享内存大小,单位kb

S :进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

%CPU : 上次更新到现在的CPU时间占用百分比

%MEM : 进程使用的物理内存百分比

TIME+ : 进程使用的CPU时间总计,单位1/100秒

COMMAND : 进程名称(命令名/命令行)

 

使用技巧:

 1.在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况

 2.默认进入top时,各进程是按照CPU的占用量来排序的,若想以内存使用顺序排序用‘shift + m’

 3.top -c 动态显示,最右侧的命令可以显示更详细的信息。

 4.top -bn1 表示非动态打印系统资源使用情况,可以用在shell脚本中。

 5.退出窗口按q键

 

实时监控系统状态:

        vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。通常使用vmstat 5 5(表示在5秒时间内进行5次采样)命令测试。将得到一个数据汇总他能够反映真正的系统情况。

vmstat 监控一次

vmstat 1 实时监控,1秒刷新一次,按ctrl+c退出;

vmstat 5 5 在5秒时间内进行5次采样;

 

[root@hpf-linux ~]# vmstat 5 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 930552  27308  33884    0    0     8     1   10   11  0  0 100  0  0 
 0  0      0 930544  27308  33884    0    0     0     0    7    7  0  0 100  0  0 
 0  0      0 930544  27308  33884    0    0     0     0    7    8  0  0 100  0  0 
 0  0      0 930544  27308  33884    0    0     0     0    8    7  0  0 100  0  0 
 0  0      0 930544  27308  33884    0    0     0     0   10    8  0  0 100  0  0 

 

各段的含义:

procs(进程) r:等待执行的任务数(展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了)

                           b:等待IO的进程数量

Memory(内存) swpd: 使用虚拟内存大小,如果swpd的值不为0,但是SI,SO的值长期为0,这种情况不会影响系统性能。

                          free:空闲的物理内存的大小

                          buff: 用作缓冲的内存大小。

                          cache: 用作缓存的内存大小

 

Swap             si: 每秒从交换区写到内存的大小,由磁盘调入内存。

                      so: 每秒写入交换区的内存大小,由内存调入磁盘。

注意:内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。有些朋友看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,不能光看这一点,还要结合si和so,如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。

 

IO                   bi: 每秒读取的块数

                       bo: 每秒写入的块数

    注意:随机磁盘读写的时候,这2个值越大(如超出1024k),能看到CPU在IO等待的值也会越大。

 

system           in: 每秒中断数,包括时钟中断。

                        cs: 每秒上下文切换数。

 

注意:上面2个值越大,会看到由内核消耗的CPU时间会越大。

 

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

us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速。

                       sy: 内核系统进程执行时间百分比(system time)

sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因。

                      wa: IO等待时间百分比

wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。

                       id: 空闲时间百分比

 

 

 静态的查看系统进程:

Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。

要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。

ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。

 详细的参数就不介绍了,这里我们讲解下经常用的ps命令:

       ps aux :  列出目前所有的正在内存当中的程序 或者 ps -elf 

 [root@hpf-linux ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   2900  1376 ?        Ss   15:59   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    15:59   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    15:59   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        S    15:59   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S    15:59   0:00 [stopper/0]
root         6  0.0  0.0      0     0 ?        S    15:59   0:01 [watchdog/0]
root         7  0.0  0.0      0     0 ?        S    15:59   0:00 [events/0]

 .........

 

USER:该 process 属于那个使用者账号的

PID :该 process 的号码

%CPU:该 process 使用掉的 CPU 资源百分比

%MEM:该 process 所占用的物理内存百分比

VSZ :该 process 使用掉的虚拟内存量 (Kbytes)

RSS :该 process 占用的固定的内存量 (Kbytes)

TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。

STAT:该程序目前的状态,主要的状态有

R :该程序目前正在运作,或者是可被运作

S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。

T :该程序目前正在侦测或者是停止了

Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态

< 高优先级进程
      N 低优先级进程

       L 在内存中被锁了内存分页
      s 主进程
      l 多线程进程
     + 在前台的进程

START:该 process 被触发启动的时间

TIME :该 process 实际使用 CPU 运作的时间

COMMAND:该程序的实际指令

 

查看系统的内存使用状况:

 free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

 常使用的命令参数:

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

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

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

-g 以GB为单位显示内存使用情况。 //注意系统对小数点后面的数全部以舍去的方式输出

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

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

-t  显示内存总和列。

-V  显示版本信息。

 

 [root@hpf-linux ~]# free -g
             total       used       free     shared    buffers     cached
Mem:             0          0          0          0          0          0
-/+ buffers/cache:          0          0
Swap:            1          0          1
[root@hpf-linux ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1006         97        908          0         26         33
-/+ buffers/cache:         37        968
Swap:         1999          0       1999

 

 上面的说明:

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

used:已使用多大。

free:可用有多少。

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

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

第三行(-/+ buffers/cached):

used:已使用多大。

free:可用有多少。

第四行是交换分区SWAP的,也就是我们通常所说的虚拟内存。

区别:第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。 这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是908M,已用内存是97M,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.

第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。

所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。

如本机情况的可用内存为:

967M=908M+26M+33M 

 

buffers和cached两者有什么区别呢?

 

为了提高磁盘存取效率, Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。

磁盘的操作有逻辑级(文件系统)和物理级(磁盘块),这两种Cache就是分别缓存逻辑和物理级数据的。

Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的数据会缓存到page cache。文件的逻辑层需要映射到实际的物理磁盘,这种映射关系由文件系统来完成。当page cache的数据需要刷新时,page cache中的数据交给buffer cache,因为Buffer Cache就是缓存磁盘块的。但是这种处理在2.6版本的内核之后就变的很简单了,没有真正意义上的cache操作。

Buffer cache是针对磁盘块的缓存,也就是在没有文件系统的情况下,直接对磁盘进行操作的数据会缓存到buffer cache中,例如,文件系统的元数据都会缓存到buffer cache中。

简单说来,page cache用来缓存文件数据,buffer cache用来缓存磁盘数据。在有文件系统的情况下,对文件操作,那么数据会缓存到page cache,如果直接采用dd等工具对磁盘进行读写,那么数据会缓存到buffer cache。

所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准.

如果是应用服务器的话,一般只看第二行,+buffers/cache,即对应用程序来说free的内存太少了,也是该考虑优化程序或加内存了。

 

 查看网络状态:

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。

如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用netstat查一查为什么会出现这些情况了。

 

命令参数:

-a或–all 显示所有连线中的Socket。

-A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址。

-c或–continuous 持续列出网络状态。

-C或–cache 显示路由器配置的快取信息。

-e或–extend 显示网络其他相关信息。

-F或–fib 显示FIB。

-g或–groups 显示多重广播功能群组组员名单。

-h或–help 在线帮助。

-i或–interfaces 显示网络界面信息表单。

-l或–listening 显示监控中的服务器的Socket。

-M或–masquerade 显示伪装的网络连线。

-n或–numeric 直接使用IP地址,而不通过域名服务器。

-N或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称。

-o或–timers 显示计时器。

-p或–programs 显示正在使用Socket的程序识别码和程序名称。

-r或–route 显示Routing Table。

-s或–statistice 显示网络工作信息统计表。

-t或–tcp 显示TCP传输协议的连线状况。

-u或–udp 显示UDP传输协议的连线状况。

-v或–verbose 显示指令执行过程。

-V或–version 显示版本信息。

-w或–raw 显示RAW传输协议的连线状况。

-x或–unix 此参数的效果和指定”-A unix”参数相同。

–ip或–inet 此参数的效果和指定”-A inet”参数相同。

常用的命令参数有:

netstat -lnp 查看当前系统开启的端口以及socket
netstat -an 查看当前系统所有的连接

 

[root@hpf-linux ~]# netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name  
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1035/sshd          
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      997/cupsd          
tcp        0      0 :::22                       :::*                        LISTEN      1035/sshd          
tcp        0      0 ::1:631                     :::*                        LISTEN      997/cupsd          
udp        0      0 0.0.0.0:631                 0.0.0.0:*                               997/cupsd          
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     8375   985/dbus-daemon     /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     8420   997/cupsd           /var/run/cups/cups.sock
unix  2      [ ACC ]     STREAM     LISTENING     6821   1/init              @/com/ubuntu/upstart

 

[root@hpf-linux ~]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State     
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN     
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN     
tcp        0     52 192.168.1.132:22            192.168.1.100:51855         ESTABLISHED
tcp        0      0 :::22                       :::*                        LISTEN     
tcp        0      0 ::1:631                     :::*                        LISTEN     
udp        0      0 0.0.0.0:631                 0.0.0.0:*                              
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     8375   /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     8420   /var/run/cups/cups.sock
unix  2      [ ACC ]     STREAM     LISTENING     6821   @/com/ubuntu/upstart
unix  4      [ ]         DGRAM                    8300   /dev/log
unix  2      [ ]         DGRAM                    7190   @/org/kernel/udev/udevd
unix  2      [ ]         DGRAM                    8958  
unix  3      [ ]         STREAM     CONNECTED     8822   /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     8821  
unix  3      [ ]         STREAM     CONNECTED     8798   /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     8797  
unix  3      [ ]         STREAM     CONNECTED     8785   /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     8784  
unix  2      [ ]         DGRAM                    8563  
unix  3      [ ]         STREAM     CONNECTED     8387   /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     8386  
unix  3      [ ]         STREAM     CONNECTED     8380  
unix  3      [ ]         STREAM     CONNECTED     8379  
unix  3      [ ]         DGRAM                    7213  
unix  3      [ ]         DGRAM                    7212  

 

实例:

 列出所有端口 (包括监听和未监听的)

netstat -a     #列出所有端口
netstat -at    #列出所有tcp端口
netstat -au    #列出所有udp端口

 

列出所有处于监听状态的 Sockets

 

netstat -l        #只显示监听端口
netstat -lt       #只列出所有监听 tcp 端口
netstat -lu       #只列出所有监听 udp 端口
netstat -lx       #只列出所有监听 UNIX 端口

 

显示每个协议的统计信息

netstat -s   显示所有端口的统计信息
netstat -st   显示TCP端口的统计信息
netstat -su   显示UDP端口的统计信息

在netstat输出中显示 PID 和进程名称

netstat -pt

 

持续输出netstat信息

netstat -c   #每隔一秒输出网络信息

 

显示系统不支持的地址族(Address Families)

netstat --verbose

 

显示核心路由信息

netstat -r

 

找出程序运行的端口

并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。

netstat -ap |

找出运行在指定端口的进程:

netstat -an | grep ‘:80‘

显示网络接口列表

netstat -i

 

监控网卡流量,历史负载

sar命令是Linux下系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。

 

安装sar的命令:yum install -y sysstat

sar 既能报告当前数据,也能报告历史数据

不带选项执行会以10分钟为间隔报告自午夜起当天的CPU利用率。

脚本sal收集了这些历史数据,它是sar软件包的一部分,必须设置为定期从cron里运行

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

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

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

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

sar -n DEV 查看网卡流量

sar -n DEV 1 实时监控网卡的流量,1秒刷新一次,按ctrl+c退出;

sar -n DEV 1 10 查看网卡的流量,1秒刷新一次,查看10次;
sar -n DEV -f /var/log/sa/sa16 查看系统日志里面保存的网卡流量信息,按照每天的日期命名;
查看历史负载 sar -q
查看磁盘读写 sar -b

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

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

options 为命令行选项,sar命令的选项很多,下面只列出常用选项:
-A:所有报告的总和。        
-u:CPU利用率        
-v:进程、I节点、文件和锁表状态。        
-d:硬盘使用报告。        
-r:没有使用的内存页面和硬盘块。        
-g:串口I/O的情况。
-b:缓冲区使用情况。
-a:文件读写情况。
-c:系统调用情况。
-R:进程的活动情况。
-y:终端设备活动情况。
-w:系统交换活动。

 

 使用:

        sar 2 5  //每隔2秒,显示5次,CPU使用的情况

[root@hpf-linux ~]# sar 2 5
Linux 2.6.32-504.12.2.el6.i686 (hpf-linux)  2015年04月17日  _i686_ (1 CPU)

19时49分47秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
19时49分49秒     all      0.00      0.00      0.00      0.00      0.00    100.00
19时49分51秒     all      0.00      0.00      0.50      0.00      0.00     99.50
19时49分53秒     all      0.00      0.00      1.00      0.00      0.00     99.00
19时49分55秒     all      0.00      0.00      0.50      0.00      0.00     99.50
19时49分57秒     all      0.00      0.00      1.00      0.00      0.00     99.00
平均时间:     all      0.00      0.00      0.60      0.00      0.00     99.40

        %usr:CPU处在用户模式下的时间百分比。
  %sys:CPU处在系统模式下的时间百分比。
  %wio:CPU等待输入输出完成时间的百分比。
  %idle:CPU空闲时间百分比。

在所有的显示中,我们应主要注意%wio和%idle,%wio的值过高,表示硬盘存在I/O瓶颈,
%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,
此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表
明系统中最需要解决的资源是CPU。

 

 

 参考:

 http://www.cnblogs.com/peida/archive/2012/12/19/2824418.html

 http://blog.chinaunix.net/uid-25266990-id-2950467.html

 http://man.linuxde.net/

linux系统管理的常用命令

标签:linux系统管理

原文地址:http://9950284.blog.51cto.com/9940284/1633827

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!