Linux下怎么查看内存使用情况和CPU利用率?

1、在系统维护过程中,可能需要随时检查CPU利用率,并根据相关信息分析系统状态。
在CentOS中,可以使用top命令查看CPU使用情况。
执行top命令后,会以全屏和会话方式显示CPU使用情况。
使用基于顶部的命令,您可以控制显示模式等。
退出top的命令是q(top运行时按q键一次)。
top命令是Linux中常用的性能分析工具。
可以实时查看系统中各个进程的资源使用情况。
它类似于Windows任务管理器%MEM。
可以选择查看Oracle用户的进程内存使用情况:$top-uoracle2解释:PID:进程的IDUSER:进程所有者PR:进程的优先级。
它越小,执行的优先级越高。
NInice:值VIRT:进程使用的虚拟内存。
RES:进程使用的物理内存。
SHR:进程使用的共享内存。
S:程序的状态。
S表示休眠,R表示运行,Z表示僵尸状态,N表示进程的优先级值为负数。
%CPU:进程占用的CPU使用率。
%MEM:进程使用的物理内存与总内存的百分比TIME+:进程启动后占用的总CPU时间,即CPU使用时间的累计值。
COMMAND:进程启动命令名3、操作示例:在命令行输入top,启动top。
Top的全屏对话框模式可以分为三个部分:系统信息栏、命令输入栏和进程列表栏。
第一部分——顶部系统信息栏:第一行(顶部):“00:11:04”是系统当前时间;“3:35”是系统启动到现在的运行时间;”是当前时间。
登录系统的用户数,更准确的说是登录用户的终端数——同一用户同时访问系统中多个终端的连接视为系统有几个用户,这里的用户数也表示为终端数“LoadAverage”是当前系统负载的平均值,下面三个值分别是1分钟前、5分钟前。
和15分钟前的平均进程数一般来说,可以假设为。
CPU变得更加难以加载当前系统中包含的进程;第二行(任务):“59total”是当前系统进程的总数;“1running”是当前正在运行的进程的数量;系统进程;“0zombie”是恢复的进程数;第三行(Cpus):代表当前CPU利用率;第四行(Mem):表示总内存量、当前利用率、空闲内存和缓冲区内存量(Swap):表示类别与第四行(Mem)相同,但这里反映的是使用交换分区(Swap)。
通常,频繁使用交换分区(swap)被认为是物理内存不足的原因。
第二部分——中间部分的内部提示栏:top运行时,可以通过top的内部命令控制进程的显示方式。
内部命令如下:s-改变屏幕刷新频率。
l-禁用或启用顶部信息的显示第一部分的第一行。
t-关闭或启用第一部分第二行任务的显示和第三行CPU信息的显示m-关闭或启用第一部分顶部信息的显示。
第四行和第五行中mem和swap信息的表示N-进程列表按照PID大小的顺序排列(后面第三部分会介绍)。
按使用顺序排列进程列表(稍后在第3部分中介绍)。
M-按照内存使用的顺序排列进程列表(稍后在第3部分中介绍)。
-退出顶部s-更改屏幕刷新周期的第三部分-底部的进程列表栏:以PID区分的进程列表根据设置的屏幕刷新时间定期更新。
通过top-internal命令可以控制这里的显示模式。
(可以通过ps查看进程号)如下图:$pmap-d5647psduct[]-o'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'其中rsz为实际内存是$ps-e-o'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'|greporacle|sort-nrk其中rsz是实际内存。
Linux中查看内存,我们一般使用free命令:[root@scs-2tmp]#freetotalusedfreesharedbufferscachedMem:326618032500041617601106522668236-/+buffers/cache:4711162795064Swap:2048276801601968116以下是这些值的解释:total:物理内存的总大小。
使用:使用了多大。
free:有多少可用。
Shared:多个进程之间共享的内存总量。
缓冲区/缓存:磁盘缓存的大小。
第三行(-/+buffers/cached):used:使用了多大。
free:有多少可用。
第四行就不用解释了。
区别:第二行(mem)中的“used/free”和第三行(-/+buffers/cache)中的“used/free”的区别。
两者的区别在于使用角度。
由于操作系统使用缓冲区/高速缓存,因此可用内存为3250004KB。
内核(操作系统)使用+Application(X,Oracle等)第三行指的是应用程序使用“buffers/cached”,因为“buffer/cached”是用来提高文件读取时的性能运行程序需要内存,缓冲区/缓存很快就会被重用。
从应用程序的角度来看,可用内存=空闲系统内存+缓冲区+缓存。
如上例:2795064=16176+110652+2668236接下来说明何时以及如何更换内存。
如果可用存储量低于标称值,则会进行更换。
查看分数:cat/proc/meminfo[root@scs-2tmp]#cat/proc/meminfoMemTotal:3266180kBMemFree:17456kBBuffers:111328kBCached:2664024kBSwapCached:0kBActive:467236kBInactive:2644928kBHighTotal:0kBHighFree:0kBLowT总计:3266180kBLowFree:17456kBSwapTotal:2048276kBSwapFree:1968116kBDirty:8kB写回:0kBMapped:345360kBSlab:112344kBCommissed_AS:535292kBPageTables:2340kBVmalloc总计:536870911kBVmallocUsed:272696kBVmallocChunk:536598175kBHugePages_Total:0HugePages_Free:0Hugepagesize:2048kB用free-m显示的结果:[root@scs-2tmp]#free-mtotalusedfreesharedbufferscachedMem:318931731601072605-/+buffers/cache:4602729Swap:2000781921显示/proc/kcore(内存转储)文件的大小:[root@scs-2tmp]#ll-h/proc/kcore-r--------1rootroot4.1GJun1212:04/proc/kcore注:测量内存使用情况为我们提供了一个非常实用的方法。
在这里我们还可以找到类似的工具伟大的。
获取相关信息。
/proc/meminfo机器的内存使用信息/proc/pid/mapspid是进程号,表示当前进程占用的虚拟地址。
进程/proc/pid/statm占用的内存[root@localhost~]#cat/proc/self/statm6545744003340解释了CPU和CPU0的输出。


每行各参数的含义(以第一行为例)为:参数解释/proc//statusSize(pages)任务虚拟地址空间的大小。
VmSize/4Resident(pages)VmRSS/应用程序使用的物理内存大小。
4Shared(Pages)共享页面的数量。
0Trs(页)程序拥有的可执行虚拟内存的大小。
VmExe/4Lrs(Pages)分配给任务虚拟内存区域的库的大小VmLib/4Drs(Pages)程序数据段和用户状态堆栈的大小(VmData+VmStk)4dt(Pages)04查看机器可用内存/proc/28248/>freetotalusedfreesharedbufferscachedMem:1023788926400973880134668503688-/+buffers/cache:288044735744Swap:1959920896081870312如果我们使用free命令查看机器的空闲内存,会发现free的值很小。
这主要是因为Linux有内存不白用的思想,所以把一些数据尽可能的缓存起来,缓冲起来,方便下次使用。
事实上,这些记忆可以立即使用。
所以空闲内存=free+buffer+cached=total-usedtop命令是Linux中常用的性能分析工具。
它可以实时显示系统中每个进程的资源使用情况,类似于Windows任务管理器。
下面详细介绍其用法。
top-02:53:32up16days,6:34,17users,loadaverage:0.24,0.21,0.24Tasks:481total,3running,474sleeping,0stopped,4zombieCpu(s):10.3%us,1.8%sy,0.0%ni,86.6%id,0.5%wa,0.2%hi,0.6%si,0.0%stMem:4042764ktotal,4001096kused,41668kfree,383536kbuffers交换:2104472ktotal,7900kused,2096572kfree,1557040kcachedPIDUSERPRNIVIRTRESSSHRS%CPU%MEMTIME+COMMAND32497jacky200669m222m31mR105.629:27.62firefox4788yiuwing200257m18m13mS50.55:42.44Konsole5657Liuxiaof200585m159m30mS44.05:25.06firefox4455xiefc200542m124m30mR43.17:23.03firefox6188Liuxiaof200191m17m13mS40.50:01.16console统计信息区前五行为统计信息系统的总体信息。
第一行包含任务队列信息,与uptime命令的执行结果相同。
内容如下:01:06:48当前时间up1:22系统运行时间,格式为时:分1user当前登录用户数loadAverage:0.06,0.60,0.48系统负载,即平均时长任务队列的。
这三个值分别是1分钟前、5分钟前、15分钟到今天的平均值。
第二行和第三行包含进程和CPU信息。
如果有多个CPU,它们可能会占用两条以上的线路。
内容如下:Tasks:29进程总数1running正在运行的进程数28休眠进程数0Stopped停止的进程数0僵尸僵尸进程数CPU(s):0.3%US用户空间占用CPU百分比1.0%sy内核空间使用的CPU百分比0.0%ni用户进程空间中优先级已更改的进程使用的CPU百分比98.7%id空闲CPU百分比0.0%wa等待输入输出的CPU时间百分比0.0%hi0.0%si最后两个行为,内存信息。
内容如下:Mem:191272ktotal总物理内存173656kused使用的物理内存总量17616kfree可用内存总量22052kbuffer用作内核缓存的内存Swap:192772ktotal交换区域总量0kused已用交换区域总量192772kfree可用交换区域总量123988kcached缓冲的交换区域总量。
将内存的内容换出到交换空间,然后再换出到内存,但是使用的交换空间并没有被覆盖。
该值表示内存中已存在该内容的交换区域的大小。
当对应的内存再次被换出时,不需要对交换区进行写操作。
进程信息区的统计信息区下方显示了各个进程的详细信息。
首先,我们来了解一下每一列的含义。
序列号列的含义aPID进程idbPPID父进程idcRUSERRealusernamedUID进程所有者的用户ideUSER进程所有者的用户名fGROUP进程所有者的组名gTTY启动进程的终端名称。
不是从终端启动的进程显示为?hPR优先级iNInice值。
负值表示高优先级,正值表示低优先级。
jP最近使用的CPU,仅在多CPU环境中才有意义。
k%自上次更新以来的CPU时间使用百分比进程,单位为秒mTIME+进程使用的总CPU时间,单位1/100秒n%MEM进程使用的物理内存百分比oVIRT进程使用的虚拟内存总量,单位知识库。
VIRT=SWAP+RESpSWAP进程要换出的虚拟内存的大小,以KB为单位。
qRES进程使用的非分页物理内存量(以KB为单位)。
RES=CODE+DATArCODE可执行代码占用的物理内存大小,单位kbsDATA可执行代码以外的部分(数据段+堆栈)占用的物理内存大小,单位kbtSHR共享内存大小,单位kbunFLT缺页次数vnDRT上次写入迄今为止已修改的页数。
wS进程状态。
D=不间断睡眠R=运行S=睡眠T=跟踪/停止Z=僵尸进程xCOMMAND命令名/命令行yWCHAN进程睡眠时,系统函数名称zFlags任务标志显示在睡眠模式下,参见Scheduleh默认情况下,仅显示更重要的列PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+和COMMAND显示。
可以使用以下键盘快捷键更改显示内容。
更改显示内容您可以通过按f按钮选择显示内容。
按f键后,将显示列列表。
按a-z显示或隐藏相应的列,最后按Enter确认。
按o键更改列的显示顺序。
按小写字母a-z将相应的列向右移动,而按大写字母A-Z将相应的列向左移动。
最后按Enter确认。
按大写键F或O,然后按a-z按相应列对进程进行排序。
大写R键可用于反转当前排序。
===============================在使用上述命令的同时,您还可以使用一些交互式命令来完成其他功能范围。
这些命令是使用键盘快捷键启动的。
<空格键>:立即更新。
P:按CPU使用率排序。
T:按时间和累计时间排序。
q:退出上述命令。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换命令名称和完整命令行的显示。
M:按使用的内存大小排序。
W:将当前设置写入~/.toprc文件。
这是编写顶级配置文件的推荐方法。
可以看到,top命令是一个非常强大的系统监控工具,这对于系统管理员来说尤其重要。
但缺点是消耗大量系统资源。
应用程序实例使用top命令来监控特定用户。
默认情况下,所有用户的进程都会受到监控。
如果您想检查特定用户的状态,请按终端中的“U”键并输入用户名。
然后系统切换到指定用户的进程运行界面。
一个。
free命令用于查看内存使用情况,使用权限适用于所有用户。
b.格式为free[-b<-k<-m][-o][-sdelay][-t][-V]c。
主要参数-b-k-m:以字节(KB、MB)或内存使用量显示。
-sdelay:显示内存使用情况的秒数。
-t:显示内存总计列。
-o:不显示缓冲区调整栏。
d.应用实践

如何查看Linux的内存使用率

在Linux系统管理中,监视内存使用情况至关重要,尤其是在图形界面不常见的服务器环境中。
下面介绍几种查看Linux内存使用情况的方法:

free命令:作为一个基本工具,free显示系统内存和交换内存的总量,以及缓冲区和内核缓存的使用情况,但信息相对较少小的。
文件/proc/meminfo:这个伪文件提供了有关内存的实时深入信息,包括以千字节为单位的详细统计信息,虽然难以理解,但对于分析内存使用情况非常有用。
vmstat命令:报告虚拟内存统计信息,包括进程、内存、磁盘条目等信息,有助于识别系统瓶颈。
smem命令:提供更详细、更准确的内存报告,包括PSS、USS和RSS等内存使用指标。
top和htop命令:top是常用命令,显示进程的资源使用情况,而htop是交互式的,方便实时监控和操作。
ps_mem命令:一个Python脚本,可以节省程序而不是进程的内存使用量,适合细粒度的评估。
sar命令:用于收集系统活动的详细信息,包括内存使用情况。
一般来说,Linux提供了多种命令工具来监控内存使用情况,根据具体需要,可以自由选择/proc/meminfo、vmstat、htop或ps_mem来查看。