查看系统情况 (CPU and memory)

uptime

 

显示系统已经运行了多长时间,它依次显示下列信息:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

提供快速查看cpu中所有任务(包括正在运行的任务)在1分钟,5分钟,15分钟内的负载。在sun下是1515分钟,在digital unix下是53060分钟。

 

mpstat (MultiProcessor Statistics)

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

可以查看有多少个CPU, 有多少行就表示有多少个CPU.

 

prtdiag (Print diagnostic)

查看CPU information.

 

prtconf (Solaris)

查看系统物理内存

prtconf -vp | grep Mem

 

prstat (Solaris)

-a  -t 选项,将额外打印有关用户的报告。

-Z 选项,将额外打印有关 zone 的报告。

-J 选项,将额外打印有关项目的报告。

-T 选项,将额外打印有关任务的报告。

-c,新的报告将打印在上一个报告的下方,而不是覆盖它。

-s(降序)与指标选项一起使用。

-S(升序)与指标选项一起使用。

 

*PID:进程的进程 ID
*USERNAME
:真实用户(登录)名称或真实用户 ID
*SIZE
:进程的总虚拟内存大小,以 K G 为单位。
*RSS
:进程的驻留集大小 (RSS),以 K G 为单位。
*STATE
:进程的状态 (cpuN/sleep/wait/run/zombie/stop)
*PRI
:进程的优先级。数字更大表示优先级更高。
*NICE
:优先级计算中使用的 nice 值。只有特定调度类中的进程才有 nice 值。
*TIME
:进程的累计执行时间。
*CPU
:进程使用的当前 CPU 时间的百分比。如果在非全局域中执行并且池设备是活动的,百分比将是 zone 绑定的池所使用的处理器集合中处理器的百分比。
*PROCESS
:进程的名称(执行文件的名称)。
*NLWP
:进程中 lwps 的数量。

 

free

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

 

zrtpwasa@hkdb7ls75:~> free -m

             total       used       free     shared    buffers     cached

Mem:          7986       7929         56          0        310        492

-/+ buffers/cache:       7127        859

Swap:         4095         32       4063

 

第一部分Mem:
    total 
内存总数: 1002M
    used 
已经使用的内存数: 769M
    free 
空闲的内存数: 232M
    shared 
当前已经废弃不用,总是0
    buffers Buffer 
缓存内存数: 62M
    cached Page 
缓存内存数:421M

    关系:total(1002M) = used(769M) + free(232M)

第二部分(-/+ buffers/cache):
    (-buffers/cache) used
内存数:286M (指的第一部分Mem行中的used - buffers - cached)
    (+buffers/cache) free
内存数: 715M (指的第一部分Mem行中的free + buffers + cached)

    可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。

第三部分是指交换分区。

 

sar (system activity reporter)

 

sar [options] [-A] [-o file] t [n]

 

在命令行中,两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1-o file表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。options为命令行选项,sar命令的选项很多,下面只列出常用选项:

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

 

Vmstat (Report virtual memory statistics)

 

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

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

       vmstat [-S unit]

       vmstat [-d]

       vmstat [-p disk partition]

       vmstat [-V]

 

vmstat是用来实时查看内存使用情况,反映的情况比用top直观一些.作为一个CPU监视器,vmstat命令比iostat命令优先级要高,因为vmstat命令是滚动的,使得它的每报告一行的输出更容易扫描,并且如果有很多磁盘连接到系统中,由此所引起的开销更少。

 

Vmstat 命令详细解释

kthr--内核进程的状态

--r 运行队列中的进程数,在一个稳定的工作量下,应该少于5
--b 
等待队列中的进程数(等待I/O),通常情况下是接近0.

memory--虚拟和真实内存的使用信息

--avm 活动虚拟页面,在进程运行中分配到工作段的页面空间数.
--fre 
空闲列表的数量.一般不少于120,fre少于120,系统开始自动的kill进程去释放

page--页面活动的信息

--re 页面i/o的列表
--pi 
从页面输入的页(一般不大于5)
--po 
输出到页面的页
--fr 
空闲的页面数(可替换的页面数)
--sr 
通过页面置换算法搜索到的页面数
--cy 
页面置换算法的时钟频率

faults--在取样间隔中的陷阱及中断数

--in 设备中断
--sy 
系统调用中断
--cs 
内核进程前后交换中断

cpu--cpu的使用率

--us 用户进程的时间
--sy 
系统进程的时间
--id cpu
空闲的时间
--wa 
等待i/o的时间
一般us+sy 在单用户系统中不大于90,在多用户系统中不大于80.
wa
时间一般不大于40.

 

其中:
如果r经常大于4,且id经常少于40,表示cpu的负荷很重。
如果pipo长期不等于0,表示内存不足。
如果b中的队列大于3,表示io性能不好。

 

更具体的参数说明

在最佳使用时,CPU100%的时间中都在工作。在单用户系统中更是这样,这里不需要共享CPU。总的来说,如果us + sy时间低于90%,则不认为该单用户系统CPU受限制。但是,如果在一个多用户系统中us + sy时间超过80%,其中的进程将要花时间在运行队列中等待。响应时间和吞吐量会受损害。要检查CPU是否是瓶颈,考虑vmstat报告中的四个cpu列和两个kthr(内核线程)列,也应该查看faults列。cpu列在该时间间隔内使用CPU时间的百分比细分。cpu列如下:

us参数

us列显示了用户模式所消耗的CPU时间。一个UNIX进程可以在用户模式下执行,也可以在系统(内核)模式下执行。当在用户模式下执行时,进程在它自己的应用程序代码中之行,不需要内核资源来进行计算、管理内存或设置变量。

sy参数

sy列详细显示了CPU在系统模式下执行一个线程所花时间的百分比。包括内核进程(kprocs )和其它需要访问内核资源的进程所消耗的CPU资源。如果一个进程需要内核资源,它必须执行一个系统调用,并因此被切换到系统模式从而可以使用该资源。例如,对一个文件的读或写操作需要内核资源来打开文件、寻找指定的位置和读写数据,除非使用内存映射文件。

wa参数

wa列详细显示了有未决本地磁盘I/OCPU空闲的时间百分比(在AIX 4.3.3和以后版本的系统中,对安装了NFS的磁盘也是这样)。如果当等待正在运行时至少有一个未完成的磁盘I/O,该时间归入等待I/O的时间。除非该进程使用异步I/O,否则对磁盘的I/O请求使调用线程被阻塞(或睡眠)直到请求被完成。一旦进程的I/O请求完成,该进程被放入运行队列中。如果I/O很快完成,该进程可以使用更多的CPU时间。wa的值如果超过25%,就表明磁盘子系统可能没有被正确平衡,或者这也可能是磁盘工作负荷很重的结果。

 

Kthr列每秒钟在采样间隔上对各种队列中的内核线程数求得的平均值。kthr列如下:

r参数

可运行的内核线程平均数目,包括正在运行的线程和等待CPU的线程。如果这个数字大于CPU的数目,至少有一个线程要等待CPU,等待CPU的线程越多,越有可能对性能产生影响。

b参数

每秒VMM等待队列中的内核线程平均数。包括正在等待文件系统I/O的线程,或由于内存装入控制而被挂起的线程。如果进程由于内存装入控制而被挂起,在vmstat报告中的阻塞列(b)表明线程数目增加,而不是运行队列中线程数目增加。

p参数

对与vmstat -I,是每秒等待原始设备I/O的线程数目。等待文件系统I/O的线程不包括在这里。

 

 

lsdev

$ lsdev -Cc processor

proc0 Available 00-00 Processor

proc2 Available 00-02 Processor

代表二个物理CPU

$ vmstat

System configuration: lcpu=4 mem=11007MB

代表四个逻辑CPU.

你可能感兴趣的:(memory)