centos 7 查看cpu(centos7)
大家好,感谢邀请,今天来为大家分享一下centos 7 查看cpu的问题,以及和centos7的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
CentOS下查看CPU信息的详解
我们可以用/proc/cpuinfo查看CPU的信息。该文件包含系统上每个处理器的数据段落。/proc/cpuinfo描述中有6个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id和cpu cores。
(1)processor:包括这一逻辑处理器的唯一标识符。
(2)physical id:包括每个物理封装的唯一标识符。
(3)core id:保存每个内核的唯一标识符。
(4)siblings:列出了位于相同物理封装中的逻辑处理器的数量。
(5)cpu cores:包含位于相同物理封装中的内核数量。
(6)如果处理器为英特尔处理器,则vendor id条目中的字符串是GenuineIntel。
拥有相同physical id的所有逻辑处理器共享同一个物理插座。每个physical id代表一个唯一的物理封装。Siblings表示位于这一物理封装上的逻辑处理器的数量。逻辑处理器可能支持也可能不支持超线程(HT)技术。每个core id均代表一个唯一的处理器内核。所有带有相同core id的逻辑处理器均位于同一个处理器内核上。如果有一个以上逻辑处理器拥有相同的core id和physical id,则说明系统支持超线程(HT)技术。如果有两个或两个以上的逻辑处理器拥有相同的physical id,但是core id不同,则说明这是一个多内核处理器。cpu cores条目也可以表示是否支持多内核。
一.i386 i586 i686之间的区别
他们指的是适用于intel i386、i586、i686兼容指令集的微处理器。一般来说,等级愈高的机器可接受较低等级的rpm文件。
i386—几乎所有的X86平台,不论是旧的pentum或者是新的pentum-IV与K7系统CPU,都可以正常工作,i指得是Intel兼容的CPU,至于386就是CPU的等级。
i586—就是586等级的计算机,包括pentum第一代MMX CPU,AMD的K5,K6系统CPU(socket7插脚)等CPU都是这个等级。
i686—pentum 2以后的Intel系统CPU及K7以后等级的CPU都属于这个686等级。
你可以透过/proc/cpuinfo这个档案查询你的CPU等级。
二.查看CPU信息
我们可以通过/proc/cpuinfo这个文件来查看CPU的信息。
[root@qs-wgdb-1 proc]# more/proc/cpuinfo
processor: 0
vendor_id: GenuineIntel
cpu family: 6
model: 44
model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz
stepping: 2
cpu MHz: 2527.071
cache size: 12288 KB
physical id: 1
siblings: 8
core id: 0
cpu cores: 4
apicid: 32
fpu: yes
fpu_exception: yes
cpuid level: 11
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dt
s acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni
monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips: 5054.14
clflush size: 64
cache_alignment: 64
address sizes: 40 bits physical, 48 bits virtual
power management: [8]
processor: 1
vendor_id: GenuineIntel
cpu family: 6
model: 44
model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz
stepping: 2
cpu MHz: 2527.071
cache size: 12288 KB
physical id: 0
siblings: 8
core id: 0
cpu cores: 4
apicid: 0
fpu: yes
fpu_exception: yes
cpuid level: 11
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dt
s acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni
monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips: 5054.02
clflush size: 64
cache_alignment: 64
address sizes: 40 bits physical, 48 bits virtual
power management: [8]
processor: 2
vendor_id: GenuineIntel
cpu family: 6
model: 44
model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz
stepping: 2
cpu MHz: 2527.071
cache size: 12288 KB
physical id: 1
siblings: 8
core id: 1
cpu cores: 4
apicid: 34
fpu: yes
fpu_exception: yes
cpuid level: 11
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dt
s acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni
monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips: 5054.04
clflush size: 64
cache_alignment: 64
address sizes: 40 bits physical, 48 bits virtual
power management: [8]
….
processor: 14
vendor_id: GenuineIntel
cpu family: 6
model: 44
model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz
stepping: 2
cpu MHz: 2527.071
cache size: 12288 KB
physical id: 1
siblings: 8
core id: 10
cpu cores: 4
apicid: 53
fpu: yes
fpu_exception: yes
cpuid level: 11
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips: 5054.03
clflush size: 64
cache_alignment: 64
address sizes: 40 bits physical, 48 bits virtual
power management: [8]
processor: 15
vendor_id: GenuineIntel
cpu family: 6
model: 44
model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz
stepping: 2
cpu MHz: 2527.071
cache size: 12288 KB
physical id: 0
siblings: 8
core id: 10
cpu cores: 4
apicid: 21
fpu: yes
fpu_exception: yes
cpuid level: 11
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips: 5053.98
clflush size: 64
cache_alignment: 64
address sizes: 40 bits physical, 48 bits virtual
power management: [8]
三.相关分析
3.1查看服务器位数
[root@qs-wgdb-1 proc]# arch
x86_64
x86_64:64位系统
X86:32位系统
3.2查看CPU是否支持64bit
[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep flags| grep' lm'| wc-l
16
结果大于0,说明支持64bit计算. lm指long mode,支持lm则是64bit。
3.3逻辑CPU个数:
[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep'processor'| wc-l
16
注意:这里是逻辑CPU。就是我们在cpuinfo中看到的processor.
3.4物理CPU个数:
[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep'physical id'| sort| uniq| wc-l
2
这里指的是物理CPU,就是我们在服务器上看到的2个CPU插槽。
3.5每个物理CPU中Core的个数:
[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep'cpu cores'| wc-l
16
3.6是否为超线程:
如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。每个物理CPU中逻辑CPU(可能是core, threads或both)的个数.
[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep'siblings'
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
四.CPUID
CPUID是CPU生产厂家为识别不同类型的CPU,而为CPU制订的不同的单一的代码;不同厂家的CPU,其CPUID定义也是不同的;如“0F24”(Inter处理器)、“681H”(AMD处理器),根据这些数字代码即可判断CPU属于哪种类型,这就是一般意义上的CPUID。
由于计算机使用的是十六进制,因此CPUID也是以十六进制表示的。Inter处理器的CPUID一共包含四个数字,如“0F24”,从左至右分别表示Type(类型)、Family(系列)、Mode(型号)和Stepping(步进编号)。
从CPUID为“068X”的处理器开始,Inter另外增加了BrandID(品种标识)用来辅助应用程序识别CPU的类型,因此根据“068X”CPUID还不能正确判别Pentium和Celerom处理器。必须配合BrandID来进行细分。
AMD处理器一般分为三位,如“681”,从左至右分别表示为Family(系列)、Mode(型号)和Stepping(步进编号)。
Type(类型)
类型标识用来区别INTEL微处理器是用于由最终用户安装,还是由专业个人计算机系统集成商、服务公司或制作商安装;数字“1”标识所测试的微处理器是用于由用户安装的;数字“0”标识所测试的微处理器是用于由专业个人计算机系统集成商、服务公司或制作商安装的。我们通常使用的INTEL处理器类型标识都是“0”,“0F24”CPUID就属于这种类型。
Family(系列)
系列标识可用来确定处理器属于那一代产品。如6系列的INTEL处理器包括PentiumPro、PentiumII、PentiumIIXeon、PentiumIII和PentiumIIIXeon处理器。5系列(第五代)包括Pentium处理器和采用MMX技术的Pentium处理器。AMD的6系列实际指有K7系列CPU,有DURON和ATHION两大类。最新一代的INTELPentium4系列处理器(包括相同核心的Celerom处理器)的系列值为“F”
Mode(型号)
型号标识可用来确定处理器的制作技术以及属于该系列的第几代设计(或核心),型号与系列通常是相互配合使用的,用于确定计算机所安装的处理器是属于某系列处理器的哪种特定类型。如可确定Celerom处理器是Coppermine还是Tualutin核心;AthlonXP处理器是Paiomino还是Thorouhgbred核心。
Stepping(步进编号)
步进编号用来标识处理器的设计或制作版本,有助于控制和跟踪处理器的更改,步进还可以让最终用户更具体地识别其系统安装的处理器版本,确定微处理器的内部设计或制作特性。步进编号就好比处理器的小版本号,如CPUID为“686”和“686A”就好比WINZIP8.0和8.1的关系。步进编号和核心步进是密切联系的。如CPUID为“686”的PentiumIII处理器是cCO核心,而“686A”表示的是更新版本cD0核心。
BrandID(品种标识)
INTEL从Coppermine核心的处理器开始引入BrandID作为CPU的辅助识别手段。如我们通过BrandID可以识别出处理器究竟是Celerom还是Pentium4。
总结:
从/proc/cpuinfo这个文件,我们可以看出cpu的信息。这个有2个概念。一个是物理CPU个数和逻辑CPU个数。物理CPU就是我们在主板上卡槽看到CPU的个数。这个可以通过physical id这个进行判断。有几个不同的physical id就有几个物理CPU。至于逻辑CPU个数,我们可以通过processor来判断。这个比较简单。如果有2个物理封装的的CPU,有16个逻辑CPU。那么每个物理封装里面就有8个逻辑CPU。
centos查看cpu使用率
centos7查看CPU的利用率
top的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。
users:表示现在有几个用户链接到系统
“ N total”为当前系统进程总数;
“N running”为当前运行中的进程数;
“N sleeping”为当前处于等待状态中的进程数;
“N stoped”为被停止的系统进程数;
“N zombie”为被复原的进程数;《Linux就该这么学》
top命令可以看到总体的系统运行状态和cpu的使用率。
%us:表示用户空间程序的cpu使用率(没有通过nice调度)
%sy:表示系统空间的cpu使用率,主要是内核程序。
%ni:表示用户空间且通过nice调度过的程序的cpu使用率。
%id:空闲cpu
%wa:cpu运行时在等待io的时间
%hi:cpu处理硬中断的数量
%si:cpu处理软中断的数量
%st:被虚拟机偷走的cpu
使用dstat也可以查看CPU的利用率
Linux下怎么查看内存使用情况和CPU利用率
1.在系统维护的过程中,随时可能有需要查看 CPU使用率,并根据相应信息分析系统状况的需要。在 CentOS中,可以通过 top命令来查看 CPU使用状况。运行 top命令后,CPU使用状态会以全屏的方式显示,并且会处在对话的模式--用基于 top的命令,可以控制显示方式等等。退出 top的命令为 q(在 top运行中敲 q键一次)。
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
$ top-u oracle
2.释义:
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
3.操作实例:
在命令行中输入“top”
即可启动 top
top的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。
第一部分--最上部的系统信息栏:
第一行(top):
“00:11:04”为系统当前时刻;
“3:35”为系统启动后到现在的运作时间;
“2 users”为当前登录到系统的用户,更确切的说是登录到用户的终端数--同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目;
“load average”为当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过 CPU数目时,CPU将比较吃力的负载当前系统所包含的进程;
第二行(Tasks):
“59 total”为当前系统进程总数;
“1 running”为当前运行中的进程数;
“58 sleeping”为当前处于等待状态中的进程数;
“0 stoped”为被停止的系统进程数;
“0 zombie”为被复原的进程数;
第三行(Cpus):
分别表示了 CPU当前的使用率;
第四行(Mem):
分别表示了内存总量、当前使用量、空闲内存量、以及缓冲使用中的内存量;
第五行(Swap):
表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。
第二部分--中间部分的内部命令提示栏:
top运行中可以通过 top的内部命令对进程的显示方式进行控制。内部命令如下表:
s
-改变画面更新频率
l-关闭或开启第一部分第一行 top信息的表示
t-关闭或开启第一部分第二行 Tasks和第三行 Cpus信息的表示
m-关闭或开启第一部分第四行 Mem和第五行 Swap信息的表示
N-以 PID的大小的顺序排列表示进程列表(第三部分后述)
P-以 CPU占用率大小的顺序排列进程列表(第三部分后述)
M-以内存占用率大小的顺序排列进程列表(第三部分后述)
h-显示帮助
n-设置在进程列表所显示进程的数量
q-退出 top
s-
改变画面更新周期
第三部分--最下部分的进程列表栏:
以 PID区分的进程列表将根据所设定的画面更新时间定期的更新。通过 top内部命令可以控制此处的显示方式
pmap
可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:
$ pmap-d 5647
ps
如下例所示:
$ ps-e-o'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'其中rsz是是实际内存
$ ps-e-o'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'| grep oracle| sort-nrk
其中rsz为实际内存,上例实现按内存排序,由大到小
在Linux下查看内存我们一般用free命令:
[root@scs-2 tmp]# free
total used free shared buffers cached
Mem: 3266180 3250004 16176 0 110652 2668236
-/+ buffers/cache: 471116 2795064
Swap: 2048276 80160 1968116
下面是对这些数值的解释:
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就不多解释了。
区别:第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached都是属于被使用,所以他的可用内存是16176KB,已用内存是3250004KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.
第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。
如上例:
2795064=16176+110652+2668236
接下来解释什么时候内存会被交换,以及按什么方交换。当可用内存少于额定值的时候,就会开会进行交换。
如何看额定值:
cat/proc/meminfo
[root@scs-2 tmp]# cat/proc/meminfo
MemTotal: 3266180 kB
MemFree: 17456 kB
Buffers: 111328 kB
Cached: 2664024 kB
SwapCached: 0 kB
Active: 467236 kB
Inactive: 2644928 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 3266180 kB
LowFree: 17456 kB
SwapTotal: 2048276 kB
SwapFree: 1968116 kB
Dirty: 8 kB
Writeback: 0 kB
Mapped: 345360 kB
Slab: 112344 kB
Committed_AS: 535292 kB
PageTables: 2340 kB
VmallocTotal: 536870911 kB
VmallocUsed: 272696 kB
VmallocChunk: 536598175 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB
用free-m查看的结果:
[root@scs-2 tmp]# free-m
total used free shared buffers cached
Mem: 3189 3173 16 0 107 2605
-/+ buffers/cache: 460 2729
Swap: 2000 78 1921
查看/proc/kcore文件的大小(内存镜像):
[root@scs-2 tmp]# ll-h/proc/kcore
-r-------- 1 root root 4.1G Jun 12 12:04/proc/kcore
备注:
占用内存的测量
测量一个进程占用了多少内存,linux为我们提供了一个很方便的方法,/proc目录为我们提供了所有的信息,实际上top等工具也通过这里来获取相应的信息。
/proc/meminfo机器的内存使用信息
/proc/pid/maps pid为进程号,显示当前进程所占用的虚拟地址。
/proc/pid/statm进程所占用的内存
[root@localhost~]# cat/proc/self/statm
654 57 44 0 0 334 0
输出解释
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
total used free shared buffers cached
Mem: 1023788 926400 97388 0 134668 503688
-/+ buffers/cache: 288044 735744
Swap: 1959920 89608 1870312
我们通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在linux中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。
所以空闲内存=free+buffers+cached=total-used
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。
top- 02:53:32 up 16 days, 6:34, 17 users, load average: 0.24, 0.21, 0.24
Tasks: 481 total, 3 running, 474 sleeping, 0 stopped, 4 zombie
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: 4042764k total, 4001096k used, 41668k free, 383536k buffers
Swap: 2104472k total, 7900k used, 2096572k free, 1557040k cached
PID USER PR NI VIRT RES SHR S%CPU%MEM TIME+ COMMAND
32497 jacky 20 0 669m 222m 31m R 10 5.6 29:27.62 firefox
4788 yiuwing 20 0 257m 18m 13m S 5 0.5 5:42.44 konsole
5657 Liuxiaof 20 0 585m 159m 30m S 4 4.0 5:25.06 firefox
4455 xiefc 20 0 542m 124m 30m R 4 3.1 7:23.03 firefox
6188 Liuxiaof 20 0 191m 17m 13m S 4 0.5 0:01.16 konsole
统计信息区前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime命令的执行结果。其内容如下:
01:06:48当前时间
up 1:22系统运行时间,格式为时:分
1 user当前登录用户数
load average: 0.06, 0.60, 0.48系统负载,即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
Tasks: 29 total进程总数
1 running正在运行的进程数
28 sleeping睡眠的进程数
0 stopped停止的进程数
0 zombie僵尸进程数
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: 191272k total物理内存总量
173656k used使用的物理内存总量
17616k free空闲内存总量
22052k buffers用作内核缓存的内存量
Swap: 192772k total交换区总量
0k used使用的交换区总量
192772k free空闲交换区总量
123988k cached缓冲的交换区总量。
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。
进程信息区统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。
序号列名含义
a PID进程id
b PPID父进程id
c RUSER Real user name
d UID进程所有者的用户id
e USER进程所有者的用户名
f GROUP进程所有者的组名
g TTY启动进程的终端名。不是从终端启动的进程则显示为?
h PR优先级
i NI nice值。负值表示高优先级,正值表示低优先级
j P最后使用的CPU,仅在多CPU环境下有意义
k%CPU上次更新到现在的CPU时间占用百分比
l TIME进程使用的CPU时间总计,单位秒
m TIME+进程使用的CPU时间总计,单位1/100秒
n%MEM进程使用的物理内存百分比
o VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
p SWAP进程使用的虚拟内存中,被换出的大小,单位kb。
q RES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
r CODE可执行代码占用的物理内存大小,单位kb
s DATA可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
t SHR共享内存大小,单位kb
u nFLT页面错误次数
v nDRT最后一次写入到现在,被修改过的页面数。
w S进程状态。
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程
x COMMAND命令名/命令行
y WCHAN若该进程在睡眠,则显示睡眠中的系统函数名
z Flags任务标志,参考 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命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
<空格>:立刻刷新。
P:根据CPU使用大小进行排序。
T:根据时间、累计时间排序。
q:退出top命令。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
M:根据使用内存大小进行排序。
W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。
应用实例
使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面。
a.作用
free命令用来显示内存的使用情况,使用权限是所有用户。
b.格式
free [-b-k-m] [-o] [-s delay] [-t] [-V]
c.主要参数
-b-k-m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。
d.应用实