带你全面了解Linux系统内存监控

在Windows系统中查看内存的使用情况很简单,想必大家都已经耳熟能详了,那么在Linux系统如何查看内存使用情况呢?下面和大家分享在Linux系统下查看内存使用情况的free命令:

1.[root@scs-2 tmp]# free

2.total used free shared buffers cached

3.Mem: 3266180 3250004 16176 0 110652 2668236

4.-/+ buffers/cache: 471116 2795064

5.Swap: 2048276 80160 1968116

下面是对这些数值的解释:

total:总计物理内存的大小。

used:已使用多大。

free:可用有多少。

Shared:多个进程共享的内存总额。

Buffers/cached:磁盘缓存的大小。

第三行(-/+ buffers/cached):

used:已使用多大。

free:可用有多少。

第四行就不多解释了。

区别:第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。 这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是16176KB,已用内存是3250004KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.

第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。

所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。

如上例:

2795064=16176+110652+2668236

接下来解释什么时候内存会被交换,以及按什么方交换。 当可用内存少于额定值的时候,就会开会进行交换。

如何看额定值:

1.cat /proc/meminfo

2.[root@scs-2 tmp]# cat /proc/meminfo

3.MemTotal: 3266180 kB

4.MemFree: 17456 kB

5.Buffers: 111328 kB

6.Cached: 2664024 kB

7.SwapCached: 0 kB

8.Active: 467236 kB

9.Inactive: 2644928 kB

10.HighTotal: 0 kB

11.HighFree: 0 kB

12.LowTotal: 3266180 kB

13.LowFree: 17456 kB

14.SwapTotal: 2048276 kB

15.SwapFree: 1968116 kB

16.Dirty: 8 kB

17.Writeback: 0 kB

18.Mapped: 345360 kB

19.Slab: 112344 kB

20.Committed_AS: 535292 kB

21.PageTables: 2340 kB

22.VmallocTotal: 536870911 kB

23.VmallocUsed: 272696 kB

24.VmallocChunk: 536598175 kB

25.HugePages_Total: 0

26.HugePages_Free: 0

27.Hugepagesize: 2048 kB

用free -m查看的结果:

1.[root@scs-2 tmp]# free -m

2.total used free shared buffers cached

3.Mem: 3189 3173 16 0 107 2605

4.-/+ buffers/cache: 460 2729

5.Swap: 2000 78 1921

查看/proc/kcore文件的大小(内存镜像):

1.[root@scs-2 tmp]# ll -h /proc/kcore

2.-r--- 1 root root 4.1G Jun 12 12:04 /proc/kcore

备注:

占用内存的测量

测量一个进程占用了多少内存,Linux系统为我们提供了一个很方便的方法,/proc目录为我们提供了所有的信息,实际上top等工具也通过这里来获取相应的信息。

1./proc/meminfo 机器的内存使用信息

2./proc/pid/maps pid为进程号,显示当前进程所占用的虚拟地址。

3./proc/pid/statm 进程所占用的内存

4.[root@localhost ~]# cat /proc/self/statm

5.654 57 44 0 0 334 0

输出解释

CPU 以及CPU0。。。的每行的每个参数意思(以第一行为例)为:

参数 解释 /proc//status

Size (pages) 任务虚拟地址空间的大小 VmSize/4

Resident(pages) 应用程序正在使用的物理内存的大小 VmRSS/4

Shared(pages) 共享页数 0

Trs(pages) 程序所拥有的可执行虚拟内存的大小 VmExe/4

Lrs(pages) 被映像到任务的虚拟内存空间的库的大小 VmLib/4

Drs(pages) 程序数据段和用户态的栈的大小 (VmData+ VmStk )4

dt(pages) 04

查看机器可用内存

1./proc/28248/>free

2.total used free shared buffers cached

3.Mem: 1023788 926400 97388 0 134668 503688

4.-/+ buffers/cache: 288044 735744

5.Swap: 1959920 89608 1870312

我们通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在Linux系统中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。

所以 空闲内存=free+buffers+cached=total-used相关阅读:

SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER

php中批量替换文件名的实现代码

ACCESS在Web.config里设置连接字符串

VBS教程:函数-TimeValue

DNS管理器详解

php分别做为cgi和module来运行的配置

HTML语言入门之三:表格

JavaScript类和继承 constructor属性

提升JSP应用程序的几个技巧

BSD家族大观 --3. NetBSD

配置问题:Linux Enterprise 5.0 ftp/ssh

Apache常用管道符

unserialize的问题

javascript CSS画图之基础篇

widnows监控linux 内存,Linux_带你全面了解Linux系统内存监控,在Windows系统中查看内存的使用 - phpStudy...相关推荐

  1. 【线程池】自行准备linux环境,带你手写线程池,只需仅仅150行代码|内存池|API|连接池|应用协议丨C/C++Linux服务器开发

    [线程池]自行准备linux环境,带你手写线程池,只需仅仅150行代码 视频讲解如下,点击观看: [线程池]自行准备linux环境,带你手写线程池,只需仅仅150行代码|内存池|API|连接池|应用协 ...

  2. 【技术分享篇】Linux内核——手把手带你实现一个Linux内核文件系统丨Linux内核源码分析

    手把手带你实现一个Linux内核文件系统 1. 内核文件系统架构分析 2. 行行珠玑,代码实现 [技术分享篇]Linux内核--手把手带你实现一个Linux内核文件系统丨Linux内核源码分析 更多L ...

  3. linux gdb打印内存命令,gdb中查看内存方法总结

    出自计组第三次上机附加题第二题 用gdb运行程序b,输出中相应地址究竟指向了什么? 请贴上你是如何找到的(使用了什么gdb指令等等) 在查看地址前首先需要断点定位到需要查看的位置 显示代码内容 (gd ...

  4. 操作系统笔记——Linux系统实例分析、Windows系统实例分析

    文章目录 传送门 Linux进程管理 Linux进程组成 Linux进程链表 Linux进程控制 用户进程创建与撤销 0,1,2号进程 Linux进程切换 Linux进程调度 内核同步 Linux储存 ...

  5. Mac 中查看内存和cpu命令

    Mac 中查看内存使用情况命 echo -e "\n$(top -l 1 | awk '/PhysMem/';)\n" 终端中查看cpu信息的命令 system_profiler ...

  6. 计算机系统最大的加速能力,系统加速我用Windows系统四大自带工具 -电脑资料

    对于Windows操作系统的提升,网上介绍的方法有很多种,但是笔者经过试用后发现还是下面的这四种效果相对来说更好一些,系统为什么速度越来越慢,笔者认为最主要的是系统垃圾过多造成的,用户在使用电脑的过程 ...

  7. OpenCV图像监视:在Visual Studio调试器中查看内存中图像

    OpenCV图像监视:在Visual Studio调试器中查看内存中图像 图像监视:在Visual Studio调试器中查看内存中图像 先决条件 安装 例子 更多的 图像监视:在Visual Stud ...

  8. Gem5模拟器,如何在linux系统中查看内存、CPU、硬盘、进程、网络等信息(十二)

    虽然说,这个记录的是与Linux相关的操作,每次查每次忘,必须写一个来归总一下,以免我漫山遍野找命令.但是不想新开一一个主题,再加上确实是在运行模拟器时会关注这方面的信息,就把这一节搁这儿啦. 常见的 ...

  9. Android 中查看内存的使用情况集经常使用adb命令

    1. 在IDE中查看Log信息 当程序执行垃圾回收的时候,会打印一条Log信息.其格式例如以下: D/dalvikvm: <GC_Reason> <Amount_freed>, ...

最新文章

  1. 3月最新!ESI世界大学排名:371所内地高校上榜!
  2. Python是否具有三元条件运算符?
  3. 中国人工智能学会通讯——机器人组件技术在智能制造系统中的应用
  4. postman-持续更新
  5. Netty 服务 如何 接收新的连接
  6. 来!喝杯可乐!让你秒懂 MVP 架构模式 | 原力计划
  7. mysql order by 语句_Mysql优化order by语句的方法详解
  8. C# xml压缩包不解压的情况下解析xml内容
  9. 线性代数及其应用(第三版)5.1节习题解答
  10. ⼤数据可视化技术:可视化技术概述与Echarts⼊⻔
  11. TCA9548A IIC多路扩展模块使用
  12. python显示日历_Python 程序显示日历
  13. 天地三才阵——【Java三大特征】
  14. 小武学fpgaStep2
  15. 列出Excel所有sheet名称
  16. 【Windows】怎么查看CUDA版本?Conda命令安装和NVIDIA官网安装包安装的CUDA有何区别?nvcc -V和nvidia-smi获得的CUDA版本有何区别?如何指定CUDA版本?
  17. 软件测试行业的现状和前景
  18. 翻译www.djangobook.com之第十八章:自定义Django的admin界面
  19. Access教程 第一章 Access数据库基础
  20. C语言malloc初始化问题

热门文章

  1. 致行业初学者:关于某些培训机构,老徐聊几句,也许对你们有用
  2. 第01篇:反射框架Reflections
  3. BZOJ_P2563 阿狸和桃子的游戏(贪心)
  4. 欧共体商标注册费用计算
  5. C++汉诺塔问题(河内塔)
  6. OutputDebugString
  7. java毕业设计——基于JSP+sqlserver的办公自动化系统设计与实现(毕业论文+程序源码)——办公自动化系统
  8. IDEA上使用SSH框架时persistence界面没有sessionFactory解决方法
  9. 我不喜欢你了 你满意了么?伤感QQ日志
  10. 国产操作系统 UOS桌面版-快速开始