千家信息网

Linux下查看内存命令的方法是什么

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍了Linux下查看内存命令的方法是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。查看内存的命令是free命令。Linu
千家信息网最后更新 2025年01月20日Linux下查看内存命令的方法是什么

这篇文章主要介绍了Linux下查看内存命令的方法是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

查看内存的命令是free命令。Linux free命令可以显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。

课程

在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存。我们常用的Linux下查看内容的专用工具是free命令。

Linux下内存查看命令free详解:

在Linux下查看内存我们一般用free命令:

$ free             total       used       free     shared    buffers     cachedMem:       3266180    3250004      16176          0     110652    2668236-/+ buffers/cache:     471116    2795064Swap:      2048276      80160    1968116

下面是对内存查看free命令输出内容的解释:

  • total:总计物理内存的大小。
  • used:已使用多大。
  • free:可用有多少。
  • Shared:多个进程共享的内存总额。
  • Buffers/cached:磁盘缓存的大小。

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

  • used:已使用多大。
  • free:可用有多少。

第四行就不多解释了。

-/+ buffers/cache含义与区别:

第二行(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

内存如何进行交换

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

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/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

查看机器可用内存

/proc/28248/>free

total used free shared buffers cached

Mem: 1023788 926400 97388 0 134668 503688

-/+ buffers/cache: 288044 735744

Swap: 1959920 89608 1870312

Linux查看内存及内存使用小结:

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

所以空闲内存=free+buffers+cached=total-used

感谢你能够认真阅读完这篇文章,希望小编分享Linux下查看内存命令的方法是什么内容对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,遇到问题就找,详细的解决方法等着你来学习!

内存 命令 大小 程序 进程 应用程序 应用 解释 方法 系统 角度 信息 内容 时候 机器 物理 篇文章 三行 输出 不用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 登录吃鸡显示连接服务器错误 重生软件开发小说 民航安康杯网络安全 电脑ntp服务器怎么登录 数据库怎么筛选相同的计数 思科网络技术学院教程考前秘籍 hcna网络技术心得 河北慧盈网络技术有限公司 金山区优势软件开发服务生产厂家 结合自身实际谈谈网络安全 长沙县学习软件开发培训 软件开发考核绩效 安庆市网络安全与执法 零基础学app软件开发 深圳市亦客网络技术有限公司 服务器安全监测 全日制专科计算机网络技术教材 上海网络技术开发包括什么 江财网络安全协会 国企应用软件开发 玩游戏突然显示服务器连接超时 卫星电视显示服务器失败 黄浦区创新软件开发要多少钱 本地文件怎么传到阿里云服务器 水利部网络安全平台 mssql2000数据库 国家网络安全宣传周主题活动方案 石景山区网络技术服务包括 网络安全人才最新报告 可使用下列哪些数据库
0