`

查看系统情况 (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.

分享到:
评论

相关推荐

    WincE CPU loading and Free memory

    "WincE CPU loading and Free memory" 这个程序就是为此目的设计的,它提供了一个直观的方式来监控设备的系统资源状态。下面,我们将详细讨论相关知识点。 首先,CPU负载是指在特定时间内CPU正在处理的任务量。在...

    CPU Cache and Memory Ordering(修改版)

    在现代计算机系统中,CPU(中央处理器)的设计和优化对整个系统的性能有着决定性的影响。其中一个关键的方面是**缓存机制**(Cache Mechanism),它通过提供一种快速访问数据的方式,帮助缓解了CPU与主内存之间速度...

    CPU and Memory Performance Monitor-crx插件

    3.监视CPU温度使用情况(仅适用于Chrome OS /仅图形显示)4. Chrome窗口/选项卡计数器5.网络状态指示器6.释放内存:-丢弃不活动的选项卡可以释放用于后台加载网页的内存。 如果您打开了多个选项卡,则可以节省0%-40...

    Local and Remote Memory: Memory in a Linux/NUMA System

    在Linux/NUMA(Non-Uniform Memory Access)系统中,理解和优化内存管理是提升系统性能的关键。本文将深入探讨Linux内核如何处理本地与远程内存,以及如何通过各种机制确保进程能够以最优方式分配内存,从而达到最高...

    Algorithms and Data Structures for External Memory

    标题"Algorithms and Data Structures for External Memory"揭示了该主题的核心,即探讨在外部存储环境下优化算法和数据结构的方法。这通常涉及到I/O效率的提升,因为外部存储的读写操作比内存慢得多。在这个领域,...

    Virtual Memory and Linux - AlanOtt.pdf

    在早期的简单系统中,如8086到80206系列的CPU,以及许多8位和16位的微控制器,如ARM Cortex-M、AVR和PIC等,采用的是平坦内存模型。在这种模型下,内存和外设共享一个单一的地址空间,没有内存保护,这意味着用户...

    Memory Management - Algorithms And Implementation In C-C++

    地址线和总线是连接CPU与内存的重要通道,决定了数据传输的速度和容量。理解这些硬件层面的细节对于设计高效的内存管理算法至关重要。 ### Intel Pentium架构 书中详细解析了Intel Pentium架构下的内存管理机制,...

    Node.js-pidusage取得一个PID的内存和处理器使用情况(跨平台)

    console.log(`Process ${myPid} is using ${stats.cpu}% CPU and ${stats.memory / 1024 / 1024}MB memory.`); } }); ``` ### 3. pidusage库API `pidusage.stat(pid, callback)`是主要的接口,其中`pid`参数是你...

    java获得CPU使用率.doc

    在计算机系统管理与监控领域,了解系统的CPU使用率及内存使用情况是至关重要的。对于Java开发者来说,能够通过编程方式获取这些信息有助于更好地管理和优化应用程序性能。本文将详细介绍如何在Windows环境下使用纯...

    iwl-csr.rar_Time and Memory

    标题中的“iwl-csr.rar_Time and Memory”可能指的是一个关于无线网卡驱动程序(Intel Wireless-Link, 简称iwl)的代码库,涉及到EEPROM(Electrically Erasable Programmable Read-Only Memory)和OTP(One-Time-...

    logix Memory and Connection Calculation

    **罗克韦尔ControlLogix PLC..."logix Memory and Connection Calculation"工具通过科学的方法帮助工程师优化资源配置,确保自动化系统的高效运行。在实际应用中,合理规划和使用这个工具能有效提升项目实施的成功率。

    memory-and-files.rar_memory_汇编读写memory

    汇编语言虽然低级,但提供了对系统硬件的直接访问,使得在某些情况下(如设备驱动编程、性能关键代码优化)非常有用。然而,这也意味着汇编代码更难编写和维护,对程序员的要求更高。 总的来说,掌握汇编语言的内存...

    What Happens During a Join - Dissecting CPU and Memory Optimization Effects (P339)-计算机科学

    在谈论“CPU and Memory Optimization Effects”时,文档可能会探讨在执行这些复杂的Join操作时,如何通过优化CPU使用和内存管理来提高查询效率。具体来说,CPU优化可能包括使用更高效的算法、优化数据结构和利用...

    Memory Systems - Cache, DRAM, Disk

    缓存是计算机内存系统中最接近CPU的部分,它用于临时存储CPU频繁访问的数据和指令。由于缓存的访问速度非常快,它可以显著减少CPU的等待时间,从而提高整体性能。缓存通常分为一级(L1)、二级(L2)和三级(L3),...

    IBM小型机CPU、内存升级激活文档(图)[整理].pdf

    如果我们仍然不放心,可以进入系统使用以下命令来查看硬件信息: * #lsdev -Cc processor 查看CPU个数 * #lsdev -Cc memory 查看内存容量 通过这些命令,我们可以验证硬件信息是否正确。 IBM小型机CPU和内存升级...

    linux如何查看CPU,内存,机器型号,网卡信息.pdf

    以下是如何查看Linux系统中的CPU、内存、机器型号以及网卡信息的详细步骤。 1. **查看CPU信息**: - 使用`cat /proc/cpuinfo`命令可以获取CPU的详细信息。通过`grep name`过滤出CPU型号,如`Intel(R) Xeon(R) CPU ...

    swift-CPU内存MemoryNetworkFPS实时监测查看沙盒sandbox

    通过获取系统时间片的分配情况,可以计算出应用在一段时间内的CPU占用。Swift中,可以使用`mach_port_t`和`task_info_data_t`结构体,配合`task_info()`函数来获取进程的CPU使用信息。另外,Apple的`Instruments`...

    计算机组成原理教学课件:5-Large and Fast Exploiting Memory Hierarchy.ppt

    《计算机组成原理教学课件:5-Large and Fast Exploiting Memory Hierarchy》主要讲述了计算机内存层次结构的重要性和工作原理。在这个课件中,主要涵盖了以下几个关键知识点: 1. **随机存取存储器(Random Access...

    CPU设计VHDL语言

    在“CPU设计VHDL语言”这个主题中,我们将深入探讨如何使用VHDL来设计一个16位的CPU,以及其中涉及的关键模块如MBR(Memory Buffer Register)和MAR(Memory Address Register)。 CPU是计算机的核心,负责执行指令...

    Linux下如何查看CPU信息__包括位数和多核信息

    ### Linux下如何查看CPU信息——包括位数和多核信息 在Linux系统中,了解CPU的具体配置对于系统管理员和开发者来说至关重要。通过一系列命令行工具和技术,我们可以获取关于CPU的各种详细信息,比如位数、核心数量...

Global site tag (gtag.js) - Google Analytics