当前位置: 首页 > Linux

linux下查看内存问题

时间:2023-04-06 20:43:52 Linux

freeCheckthememoryusagefree—checkthememoryusage#total使用了多少,用了多少,free多少,buff/cachediskcache多少,还有多少available#-m输出使用MB(兆字节)显示。默认为KB(千字节)[root@VM-0-11-ubuntu/home/ubuntu/alluxio]$free-mtotalusedfreesharedbuff/cacheavailableMem:39352055118217611626Swap:000free为true未使用physicalmemorysizeavailable是应用程序可用的内存大小。$$available=free+buffer+cache(可回收缓存)$$top实时查看进程运行状态top—实时查看进程占用的内存和cpu。某时刻的操作如下:参数含义如下:top-timeup9days,1:47,severalusers,loadaverage(系统负载,任务队列平均长度):0.00(1分钟-现在),0.01(5分钟-现在),0.00(15分钟-现在)Tasks任务/进程:119个total(总计),1个running(运行),118个sleeping(睡眠),0个stopped(终止),0zombie(僵尸进程)%Cpu(s)(cpu占用百分比):0.7us(被用户空间占用),0.5sy(系统空间占用),0.0ni(用户空间优先级改变的进程),98.8id(空闲cpu),0.0wa(I/Owait),0.0hi(硬中断),0.0si(软中断),0.0stMiBMem(内存):3935.5total,117.7free,2055.5used,1762.4buff/cacheMiBSwap(swaparea)):总计0.0,免费0.0,使用0.0。1626.6availMem#(实时进程运行状态)[进程id][用户][优先级][nice值][虚拟内存][常驻内存][共享内存][进程状态][cpu占用率][内存占用]ratio][运行时间][进程名/命令名]PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND1490root20010250168142819296S1.32.0238:10.99YDService11root200000I0.30.02:47.02rcu_sched其中有一个进程,kswapd0进程,负责在虚拟内存中交换页面。如果这个进程的CPU使用率过高,说明系统在频繁的换入换出,一般是物理内存不足(不是硬盘容量)造成的。ps查看进程占用的cpu和内存ps--查看进程占用的cpu和内存#aux使用BSD格式显示ps-aux示例:查看占用内存最多的5个进程#查看进程,按从大到小第四列,然后取前5ps-aux|排序-k4rn|head-5pstree查看进程关系pstree--以树的形式查看进程之间的关系根据子进程查看父进程,可以使用如下命令:#解决方法一:只能显示当前子线程直接父进程cat/proc/[pid]/status#显示结果中pid为当前进程,ppid为父进程#方案二:显示进程树pstree-aps[pid]pstree-aps[pid]|less#上下坐标箭头视图,按q退出视图-p:显示各个进程的pid-a:同名进程不会合并显示-s:显示当前子线程的父进程例如:命令cat/proc/[pid]/status的执行结果如下:命令pstree-aps[pid]的执行结果如下:kill杀死进程kill命令用于杀死进程。kill-9[pid]#强制终止进程。相当于kill-KILL[pid]kill-15[pid]#正常杀死一个进程。相当于kill-TERM[pid]#pkill可以加上信号参数。使用pgrep过滤,避免查杀错误。pkill[进程名,可选]|pgrep-l[进程名]#根据终端号踢出用户pkill-t[终端号]进程名#pkill-9-tpts/1强制踢出pts/1登录用户killall[进程名,全名]#pgrep-l[进程名]过滤掉所有包含该进程名的进程名及其pid#pgrep[进程部分名]#pidof[进程全名]#以上两条命令可以直接获取pidkill-19[pid]#让进程暂停kill-18[pid]#让进程继续