linux查看内存使用情况

本文介绍了多种在Linux系统中查看内存使用情况的方法,包括使用`df`命令查看磁盘使用量,利用`top`、`free`、`cat /proc/meminfo`和`ps aux --sort -rss`等命令详细分析内存占用,以及通过`vmstat`和`gnome-shell-system-monitor-applet`监控内存状态。此外,还提到了Linux进程的五种状态及其在`ps`命令输出中的标识。

查看磁盘使用情况: df -k:以KB为单位显示磁盘使用量和占用率 这里写图片描述 df -m:以Mb为单位显示磁盘使用量和占用率 这里写图片描述 df –help:查看更多df命令及使用方法 这里写图片描述

查看内存占用情况: 1.top 这里写图片描述

PID:当前运行进程的ID USER:进程属主 PR:每个进程的优先级别 NInice:反应一个进程“优先级”状态的值,其取值范围是-20至19,一     共40个级别。这个值越小,表示进程”优先级”越高,而值越     大“优先级”越低。一般会把nice值叫做静态优先级 VIRT:进程占用的虚拟内存 RES:进程占用的物理内存 SHR:进程使用的共享内存 S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示   该进程优先值为负数 %CPU:进程占用CPU的使用率 %MEM:进程使用的物理内存和总内存的百分比 TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。 COMMAND:进程启动命令名称

2.free 这里写图片描述 total : 总计物理内存的大小。 used : 已使用多大。 free : 可用有多少。 Shared : 多个进程共享的内存总额。 Buffers/cached : 磁盘缓存的大小。 -/+ buffers/cached) : used:已使用多大; free:可用有多少。 注意: (mem)的used/free与(-/+ buffers/cache) used/free的区别: 这两者的区别在于使用的角度来看,前者是从OS(Operating Sys)的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是11737644KB,已用内存是54215352KB, 后者所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。 所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。

3.cat /proc/meminfo 查看RAM使用情况最简单的方法是通过命令:cat /proc/meminfo; 这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示。 /proc/meminfo列出了所有你想了解的内存的使用情况。 进程的内存使用信息也可以通过命令:cat /proc//statm 、 cat /proc//status 来查看。 这里写图片描述

4.ps aux –sort -rss ps aux: 列出目前所有的正在内存当中的程序。 a显示终端上地所有进程,包括其他用户地进程(有的进程没有终端)。 -a 显示所有终端机下执行的进程,除了阶段作业领导者之外。 u  以用户为主的格式来显示进程状况。 x  显示所有进程,不以终端机来区分。 a会包括其他用户(否则只有用户本身); x会包括其他终端; aux就可以包括内存所有; 这里写图片描述

USER:该 process 属于那个使用者账号的 PID :该 process 的号码 %CPU:该 process 使用掉的 CPU 资源百分比 %MEM:该 process 所占用的物理内存百分比 VSZ :该 process 使用掉的虚拟内存量 (Kbytes) RSS :该 process 占用的固定的内存量 (Kbytes) TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。 STAT:该程序目前的状态,主要的状态有 R :该程序目前正在运作,或者是可被运作 S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。 T :该程序目前正在侦测或者是停止了 Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态 START:该 process 被触发启动的时间 TIME :该 process 实际使用 CPU 运作的时间 COMMAND:该程序的实际指令

5.vmstat -s vmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。 这里写图片描述

6.gnome-shell-system-monitor-applet Gnome-shell系统监视器gnome-shell-system-monitor-applet,是一个Gnome-shell 面板小程序,此程序用户监视CPU占用百分比、内存使用和SWAP使用情况,如图通过顶部栏显示和关闭。 此程序下载地址:https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet

和其他gnome-shell扩展小程序相比,安装可能有点困难,首先需要安装git-core核心。 在终端输入命令: mkdir ~/git_projects cd ~/git_projects git clone git://github.com/paradoxxxzero/gnome-shell-system-monitor-applet.git mkdir -p ~/.local/share/gnome-shell/extensions cd ~/.local/share/gnome-shell/extensions ln -s ~/git_projects/gnome-shell-system-monitor-applet/system-monitor@paradoxxx.zero.gmail.com sudo cp ~/git_projects/gnome-shell-system-monitor-applet/org.gnome.shell.extensions.system-monitor.gschema.xml /usr/share/glib-2.0/schemas cd /usr/share/glib-2.0/schemas sudo glib-compile-schemas . 如果你使用的jhbuild编译的gnome-shell,可能会无法工作!

7.相关知识

linux上进程有5种状态: \1. 运行(正在运行或在运行队列中等待) \2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) \3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) \4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) \5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) ps工具标识进程的5种状态码: D 不可中断 uninterruptible sleep (usually IO) R 运行 runnable (on run queue) S 中断 sleeping T 停止 traced or stopped Z 僵死 a defunct (”zombie”) process 注: 其它状态还包括W(无驻留页), <(高优先级进程), N(低优先级进程), L(内存锁页). 使用ps格式输出来查看进程状态: ps -eo user,stat..,cmd user 用户名 uid 用户号 pid 进程号 ppid 父进程号 size 内存大小, Kbytes字节. vsize 总虚拟内存大小, bytes字节(包含code+data+stack) share 总共享页数 nice 进程优先级(缺省为0, 最大为-20) priority(pri) 内核调度优先级 pmem 进程分享的物理内存数的百分比 trs 程序执行代码驻留大小 rss 进程使用的总物理内存数, Kbytes字节 time 进程执行起到现在总的CPU暂用时间 stat 进程状态 cmd(args) 执行命令的简单格式 例子: 查看当前系统进程的uid,pid,stat,pri, 以uid号排序. ps -eo pid,stat,pri,uid –sort uid 查看当前系统进程的user,pid,stat,rss,args, 以rss排序. ps -eo user,pid,stat,rss,args –sort rss

以上就是良许教程网为各位朋友分享的Linux相关知识。

(1)用C语言来实现对N个进程采用动态优先权优先算法的进程调度。 (2)每个用来标识进程的进程控制块PCB用结构来描述,包括以下字段: •••• 进程标识数 ID。 •••• 进程优先数 PRIORITY,并规定优先数越大的进程,其优先权越高。 •••• 进程已占用的CPU时间CPUTIME。 •••• 进程还需占用的CPU时间ALLTIME。当进程运行完毕时,ALLTIME变为0。•••• 进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,将进入阻塞状态。 •••• 进程被阻塞的时间BLOCKTIME,表示已足赛的进程再等待BLOCKTIME个时间片后,将转换成就绪状态。 •••• 进程状态START。 •••• 队列指针NEXT,用来将PCB排成队列。 (3)优先数改变的原则: •••进程在就绪队列中呆一个时间片,优先数加1。 •••进程每运行一个时间片,优先数减3。 (4)假设在调度前,系统中有5个进程,它们的初始状态如下: ID 0 1 2 3 4 PRIORITY 9 38 30 29 0 CPUTIME 0 0 0 0 0 ALLTIME 3 3 6 3 4 STARTBLOCK 2 -1 -1 -1 -1 BLOCKTIME 3 0 0 0 0 STATE READY READY READY READY READY (5)为了清楚的观察各进程的调度过程,程序应将每个时间片内的情况显示出来,参照的具体格式如下: RUNNING PROG:i READY-QUEUE:->id1->id2 BLOCK-QUEUE:->id3->id4 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ID 0 1 2 3 4 PRIORITY P0 P1 P2 P3 P4 CUPTIME C0 C1 C2 C3 C4 ALLTIME A0 A1 A2 A3 A4 STARTBLOCK T0 T1 T2 T3 T4 BLOCKTIME B0 B1 B2 B3 B4 STATE S0 S1 S2 S3 S4
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值