查看cpu信息:
cd/
more/proc/cpuinfo
将列举cpu的详尽信息。
更具体的讲解TOP文章(这儿就不再剪切下来了)
在系统维护的过程中,随时可能有须要查看CPU使用率,并按照相应信息剖析系统状况的须要。在CentOS中,可以通过top命令来查看CPU使用状况。运行top命令后,CPU使用状态会以全屏的形式显示,而且会处在对话的模式--用基于top的命令,可以控制显示方法等等。退出top的命令为q(在top运行中敲q键一次)。
操作实例:
在命令行中输入“top”
即可启动top
top的全屏对话模式可分为3部份:系统信息栏、命令输入栏、进程列表栏。
第一部份--最下部的系统信息栏:
第一行(top):
“00:11:04”为系统当前时刻;
“3:35”为系统启动后到现今的运作时间;
“2users”为当前登入到系统的用户,更准确的说是登陆到用户的终端数--同一个用户同一时间对系统多个终端的联接将被视为多个用户联接到系统,这儿的用户数也将表现为终端的数量;
“loadaverage”为当前系统负载的平均值,前面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,通常的可以觉得这个数值超过CPU数量时,CPU将比较费力的负载当前系统所包含的进程;
第二行(Tasks):
“59total”为当前系统进程总量;
“1running”为当前运行中的进程数;
“58sleeping”为当前处于等待状态中的进程数;
“0stoped”为被停止的系统进程数;
“0zombie”为被复原的进程数;
第三行(Cpus):
分别表示了CPU当前的使用率;
第四行(Mem):
分别表示了显存总数、当前使用量、空闲显存量、以及缓冲使用中的显存量;
第五行(Swap):
表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。一般,交换分区(Swap)被频繁使用的情况,将被视作数学显存不足而导致的。
第二部份--中间部份的内部命令提示栏:
top运行中可以通过top的内部命令对进程的显示方法进行控制。内部命令如下表:
-改变画面更新频度
l-关掉或开启第一部份第一行top信息的表示
t-关掉或开启第一部份第二行Tasks和第三行Cpus信息的表示
m-关掉或开启第一部份第四行Mem和第五行Swap信息的表示
N-以PID的大小的次序排列表示进程列表(第三部份后述)
P-以CPU占用率大小的次序排列进程列表(第三部份后述)
M-以显存占用率大小的次序排列进程列表(第三部份后述)
h-显示帮助
n-设置在进程列表所显示进程的数目
q-退出top
s-
改变画面更新周期
第三部份--最下部份的进程列表栏:
以PID分辨的进程列表将依照所设定的画面更新时间定期的更新。通过top内部命令可以控制此处的显示方法
在Linux下查看显存我们通常用free命令:
[root@scs-2tmp]#free
totalusedfreesharedbufferscached
Mem:326618032500041617601106522668236
-/+buffers/cache:4711162795064
Swap:2048276801601968116
下边是对这种数值的解释:
total:总计化学显存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的显存支出。
Buffers/cached:c盘缓存的大小。
第三行(-/+buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就不多解释了。
区别:第二行(mem)的used/free与第三行(-/+buffers/cache)used/free的区别。这两个的区别在于使用的角度来看,第一行是从OS的角度来看,由于对于OS,buffers/cached都是属于被使用linux cpu使用率百分比,所以他的可用显存是16176KB,已用显存是3250004KB,其中包括,内核(OS)使用+Application(X,oracle,etc)使用的+buffers+cached.
第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached是等于可用的,由于buffer/cached是为了增强文件读取的性能,当应用程序需在用到显存的时侯,buffer/cached会很快地被回收。
所以从应用程序的角度来说,可用显存=系统freememory+buffers+cached。
如上例:
2795064=16176+110652+2668236
接出来解释哪些时侯显存会被交换,以及按哪些方交换。当可用显存多于额定值的时侯,还会开会进行交换。
怎么看额定值:
cat/proc/meminfo
[root@scs-2tmp]#cat/proc/meminfo
MemTotal:3266180kB
MemFree:17456kB
Buffers:111328kB
Cached:2664024kB
SwapCached:0kB
Active:467236kB
Inactive:2644928kB
HighTotal:0kB
HighFree:0kB
LowTotal:3266180kB
LowFree:17456kB
SwapTotal:2048276kB
SwapFree:1968116kB
Dirty:8kB
Writeback:0kB
Mapped:345360kB
Slab:112344kB
Committed_AS:535292kB
PageTables:2340kB
VmallocTotal:536870911kB
VmallocUsed:272696kB
VmallocChunk:536598175kB
HugePages_Total:0
HugePages_Free:0
Hugepagesize:2048kB
用free-m查看的结果:
[root@scs-2tmp]#free-m
totalusedfreesharedbufferscached
Mem:318931731601072605
-/+buffers/cache:4602729
Swap:2000781921
查看/proc/kcore文件的大小(显存镜像):
[root@scs-2tmp]#ll-h/proc/kcore
-r--------1rootroot4.1GJun1212:04/proc/kcore
备注:
占用显存的检测
检测一个进程占用了多少显存,linux为我们提供了一个很便捷的方式,/proc目录为我们提供了所有的信息,实际上top等工具也通过这儿来获取相应的信息。
/proc/meminfo机器的显存使用信息
/proc/pid/mapspid为进程号,显示当前进程所占用的虚拟地址。
/proc/pid/statm进程所占用的显存
[root@localhost~]#cat/proc/self/statm
6545744003340
输出解释
CPU以及CPU0。。。的每行的每位参数意思(以第一行为例)为:
参数解释/proc//status
Size(pages)任务虚拟地址空间的大小VmSize/4
Resident(pages)应用程序正在使用的数学显存的大小VmRSS/4
Shared(pages)共享页数0
Trs(pages)程序所拥有的可执行虚拟显存的大小VmExe/4
Lrs(pages)被映像到任务的虚拟显存空间的库的大小VmLib/4
Drs(pages)程序数据段和用户态的栈的大小(VmData+VmStk)4
dt(pages)04
查看机器可用显存
/proc/28248/>free
totalusedfreesharedbufferscached
Mem:00973880134668503688
-/+buffers/cache:288044735744
Swap:81870312
我们通过free命令查看机器空闲显存时,会发觉free的值很小。这主要是由于,在linux中有那么一种思想,显存不用白不用,因而它尽可能的cache和buffer一些数据,以便捷上次使用。但实际上这种显存也是可以立即用来使用的。
所以空闲显存=free+buffers+cached=total-used
top命令是Linux下常用的性能剖析工具,才能实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下边详尽介绍它的使用方式。
top-02:53:32up16days,6:34,17users,loadaverage:0.24,0.21,0.24
Tasks:481total,3running,474sleeping,0stopped,4zombie
Cpu(s):10.3%us,1.8%sy,0.0%ni,86.6%id,0.5%wa,0.2%hi,0.6%si,0.0%st
Mem:4042764ktotal,4001096kused,41668kfree,383536kbuffers
Swap:2104472ktotal,7900kused,2096572kfree,1557040kcached
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
32497jacky200669m222m31mR105.629:27.62firefox
4788yiuwing200257m18m13mS50.55:42.44konsole
5657Liuxiaof200585m159m30mS44.05:25.06firefox
4455xiefc200542m124m30mR43.17:23.03firefox
6188Liuxiaof200191m17m13mS40.50:01.16konsole
统计信息区前五行是系统整体的统计信息。第一行是任务队列信息,同uptime命令的执行结果。其内容如下:
01:06:48
当前时间
up1:22
系统运行时间,格式为时:分
1user
当前登入用户数
loadaverage:0.06,0.60,0.48
系统负载,即任务队列的平均厚度。
三个数值分别为1分钟、5分钟、15分钟前到如今的平均值。
第二、三行为进程和CPU的信息。当有多个CPU时,那些内容可能会超过两行。内容如下:
Tasks:29total
进程总量
1running
正在运行的进程数
28sleeping
睡眠的进程数
0stopped
停止的进程数
0zombie
僵尸进程数
Cpu(s):0.3%us
用户空间占用CPU比率
1.0%sy
内核空间占用CPU比率
0.0%ni
用户进程空间内改变过优先级的进程占用CPU比率
98.7%id
空闲CPU比率
0.0%wa
等待输入输出的CPU时间比率
0.0%hi
0.0%si
最后两行为显存信息。内容如下:
Mem:191272ktotal
化学显存总数
173656kused
使用的数学显存总数
17616kfree
空闲显存总数
22052kbuffers
用作内核缓存的显存量
Swap:192772ktotal
交换区总数
0kused
使用的交换区总数
192772kfree
空闲交换区总数
123988kcached
缓冲的交换区总数。
显存中的内容被换出到交换区,而后又被换入到显存,但使用过的交换区仍未被覆盖,
该数值即为这种内容已存在于显存中的交换区的大小。
相应的显存再度被换出时可毋须再对交换区写入。
进程信息区统计信息区域的下方显示了各个进程的详尽信息。首先来认识一下各列的含意。
序号
列名
涵义
PID
进程id
PPID
父进程id
RUSER
Realusername
UID
进程所有者的用户id
USER
进程所有者的用户名
GROUP
进程所有者的组名
TTY
启动进程的终端名。不是从终端启动的进程则显示为?
PR
优先级
NI
nice值。负值表示高优先级,正值表示低优先级
最后使用的CPU,仅在多CPU环境下有意义
%CPU
先前更新到现今的CPU时间占用比率
TIME
进程使用的CPU时间总计,单位秒
TIME+
进程使用的CPU时间总计,单位1/100秒
%MEM
进程使用的数学显存比率
VIRT
进程使用的虚拟显存总数,单位kb。VIRT=SWAP+RES
SWAP
进程使用的虚拟显存中,被换出的大小,单位kb。
RES
进程使用的、未被换出的数学显存大小,单位kb。RES=CODE+DATA
CODE
可执行代码占用的数学显存大小,单位kb
DATA
可执行代码以外的部份(数据段+栈)占用的数学显存大小,单位kb
SHR
共享显存大小,单位kb
nFLT
页面错误次数
nDRT
最后一次写入到如今,被更改过的页面数。
进程状态。
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程
COMMAND
命令名/命令行
WCHAN
若该进程在睡眠,则显示睡眠中的系统函数名
Flags
任务标志wps for linux,参考sched.h
默认情况下仅显示比较重要的PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND列。可以通过下边的快捷键来修改显示内容。
修改显示内容通过f键可以选择显示的内容。按f键然后会显示列的列表,按a-z即可显示或隐藏对应的列,最后按回车键确定。
按o键可以改变列的显示次序。按大写的a-z可以将相应的列往右联通,而小写的A-Z可以将相应的列向左联通。最后按回车键确定。
按小写的F或O键,之后按a-z可以将进程根据相应的列进行排序。而小写的R键可以将当前的排序倒转。
==============================
top命令使用过程中linux基础教程,还可以使用一些交互的命令来完成其它参数的功能。这种命令是通过快捷键启动的。
<空格>:立即刷新。
P:按照CPU使用大小进行排序。
T:按照时间、累计时间排序。
q:退出top命令。
m:切换显示显存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
M:按照使用显存大小进行排序。
W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方式。
可以看见,top命令是一个功能非常强悍的监控系统的工具,对于系统管理员而言尤其重要。并且,它的缺点是会消耗好多系统资源。
应用实例
使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。假如想查看指定用户的情况linux cpu使用率百分比,在终端中按“U”键,之后输入用户名,系统还会切换为指定用户的进程运行界面。
a.作用
free命令拿来显示显存的使用情况,使用权限是所有用户。
b.格式
free[-b-k-m][-o][-sdelay][-t][-V]
c.主要参数
-b-k-m:分别以字节(KB、MB)为单位显示显存使用情况。
-sdelay:显示每隔多少秒数来显示一次显存使用情况。
-t:显示显存总和列。
-o:不显示缓冲区调节列。
d.应用实例
free命令是拿来查看显存使用情况的主要命令。和top命令相比,它的优点是使用简单,而且只占用极少的系统资源。通过-S参数可以使用free命令不间断地监视有多少显存在使用,这样可以把它当做一个便捷实时监控器。
#free-b-s5
使用这个命令后终端会连续不断地报告显存使用情况(以字节为单位),每5秒更新一次。
文章评论