对于开发和维护而言,查看进程对于内存的占用情况是十分必要的。本文将会介绍几种不同的内存查看方式。
top命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
命令格式
$ top [-] [d] [p] [q] [c] [C] [S] [s] [n] [u]
- d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
- p:通过指定监控进程ID来仅仅监控某个进程的状态。
- q:该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
- S:指定累计模式。
- s:使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
- i:使top不显示任何闲置或者僵死进程。
- c:显示整个命令行而不只是显示命令名。
- u:查看某用户信息
查看实例
输入top后,能进入如下top界面:
%MEM:进程使用的物理内存和总内存的百分比
备注:按q退出
free命令
在Linux下查看内存我们一般用free命令
命令格式
$ free
查看实例
- total:总计物理内存的大小。
- used:已使用多大。
- free:可用有多少。
- Shared:多个进程共享的内存总额。
- Buffers/cached:磁盘缓存的大小。
- available:可用内存大小
pmap命令
查看进程的内存映像信息
命令格式
$ pmap [ -x | -d ] [ -q ] pids
-x:Show the extended format. 显示扩展格式
-d:Show the deviceformat. 显示设备格式
-q:Do not display some header/footerlines. 不显示头尾行
-V:Displays version of program. 显示版本
查看实例
- Address: start address ofmap 映像起始地址
- Kbytes: size of map in kilobytes 映像大小
- RSS: resident set size inkilobytes 驻留集(物理内存)大小
- Dirty: dirty pages (both sharedand private) in kilobytes 脏页大小
- Mode: permissions on map 映像权限: r=read,w=write, x=execute, s=shared, p=private (copy on write)
- Mapping: file backing the map ,or ‘[ anon ]’ for allocated memory, or ‘[ stack ]’ for the program stack. 映像支持文件,[anon]为已分配内存[stack]为程序堆栈
- Offset: offset into the file 文件偏移
- Device: device name(major:minor) 设备名
ps命令
显示系统执行的进程
命令格式
$ ps [-x][-a][-u][-e][-f]
-a:显示当前终端的所有进程信息
-u:以用户的格式显示进程信息
-x:显示后台进程运行的参数
-e:显示所有进程
-f:全格式
查看实例
- %CPU:占用的CPU
- %MEM:占用的内存
- VSZ:使用的虚拟内存
- RSS:使用的物理内存
查看内存交换额定值
当可用内存少于额定值的时候,就会开始进行交换。以下命令用于查看额定值:
$ cat /proc/meminfo