

Linux视图内存命令
在Linux下,我们经常使用top命令查看系统进程,并且top也可以显示系统内存. 我们通常用于在Linux下查看内容的特殊工具是free命令.
推荐: “ Linux教程”
在Linux下免费的内存视图命令的详细说明:
要在Linux下查看内存,我们通常使用free命令:
$ free total used free shared buffers cachedMem: 3266180 3250004 16176 0 110652 2668236-/+ buffers/cache: 471116 2795064Swap: 2048276 80160 1968116
以下是对memory view free命令的输出内容的说明:
total: 总物理内存大小.

已使用: 已使用了多少.
免费: 有多少可用.
Shared: 多个进程共享的内存总量.
缓冲区/缓存: 磁盘缓存的大小.
第三行(-/ +缓冲区/已缓存):
已使用: 已使用了多少.
免费: 有多少可用.
第四行解释不多.
-/ +缓冲区/缓存的含义和区别:

第二行(mem)中的used / free和第三行(-/ + buffers / cache)中的used / free之间的区别在于使用的角度:
第二行是从OS的角度来看的,因为对于OS,缓冲区/缓存均已使用,因此其可用内存为16176KB,已使用的内存为3250004KB,其中包括内核(OS)使用+缓冲区+缓存按应用程序(X,oracle等)
第三行是指应用程序的角度,对于应用程序来说,buffers / cached等于可用,因为buffer / cached是为了提高文件读取性能,当需要使用应用程序时达到内存,缓冲区/缓存将很快恢复.
因此从应用程序的角度来看,可用内存=系统可用内存+缓冲区+缓存.
如上例所示:
2795064=16176+110652+2668236
如何交换内存
接下来,说明何时更换内存以及使用哪种方法. 当可用内存小于额定值时,将举行会议以进行交换. 如何查看评分:
cat /proc/meminfo

输出为:
$ cat /proc/meminfoMemTotal: 3266180 kBMemFree: 17456 kBBuffers: 111328 kBCached: 2664024 kBSwapCached: 0 kBActive: 467236 kBInactive: 2644928 kBHighTotal: 0 kBHighFree: 0 kBLowTotal: 3266180 kBLowFree: 17456 kBSwapTotal: 2048276 kBSwapFree: 1968116 kBDirty: 8 kBWriteback: 0 kBMapped: 345360 kBSlab: 112344 kBCommitted_AS: 535292 kBPageTables: 2340 kBVmallocTotal: 536870911 kBVmallocUsed: 272696 kBVmallocChunk: 536598175 kBHugePages_Total: 0HugePages_Free: 0Hugepagesize: 2048 kB
使用free -m查看结果:
[root@scs-2 tmp]# free -m total used free shared buffers cachedMem: 3189 3173 16 0 107 2605-/+ buffers/cache: 460 2729Swap: 2000 78 1921
检查/ proc / kcore文件的大小(内存镜像):
$ 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 进程所占用的内存$ cat /proc/self/statm654 57 44 0 0 334 0
输出说明
CPU和CPU0. . . (以第一行为例)每一行中每个参数的含义是:
参数 解释 /proc/statusSize (pages) 任务虚拟地址空间的大小 VmSize/4Resident(pages) 应用程序正在使用的物理内存的大小 VmRSS/4Shared(pages) 共享页数 0Trs(pages) 程序所拥有的可执行虚拟内存的大小 VmExe/4Lrs(pages) 被映像到任务的虚拟内存空间的库的大小 VmLib/4Drs(pages) 程序数据段和用户态的栈的大小 (VmData+ VmStk )4dt(pages) 04
检查机器的可用内存
/proc/28248/>freetotal used free shared buffers cachedMem: 1023788 926400 97388 0 134668 503688-/+ buffers/cache: 288044 735744Swap: 1959920 89608 1870312
Linux查看内存和内存使用情况摘要:
当我们通过free命令检查机器的空闲内存时,我们发现free的值很小. 这主要是因为Linux中有这样一种思想,即内存并非无所不用,因此它会尽可能多地缓存和缓冲某些数据以方便下次使用. 但实际上,这些内存也可以立即使用.
因此可用内存= free + buffers + cached =已全部使用
有关更多与编程相关的内容,请注意24个教室网络的编程输入列!
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-300506-1.html
疯了吧
培根等致癌物质不易多吃