linux如何查看内存

linux如何查看内存,第1张

很多朋友都想知道linux如何查看内存?下面就一起来看看吧!

linux如何查看内存

1、打开linux系统,在linux的桌面的空白处右击。

2、在d出的下拉选项里,点击打开终端。

3、输入cat/proc/meminfo命令,回车运行即可查看内存数据,其中memfree代表剩余内存。

本文章基于ThinkpadE15品牌、centos7系统撰写的。

1、首先打开Linux命令窗口,可使用快捷键Ctrl+Alt+T打开。

2、这时查看一下当前Linux系统内存使用情况,使用命令:Free –m,total 内存总数,used 已经使用的内存数,free 空闲的内存数。

3、接下来的 *** 作需要先获取高级用户权限,输入命令:sudo -i,确定后输入高级用户密码。

4、这时进行拷贝文件拷贝,增加内存使用量(即used的占用量),输入命令: cp -r /etc ~/test/。

5、执行命令结束后,再次查看一下当前Linux系统内存使用情况,发现有70M的内存被cached用了。使用命令:Free –m。

6、接下来释放已被占用的缓存,输入命令: cat /proc/sys/vm/drop_caches,回车后返回结果0。

7、接着输入命令:sync,回车后继续输入命令:echo 3 > /proc/sys/vm/drop_caches,回车后继续输入:cat /proc/sys/vm/drop_caches,回车后返回结果3,将/proc/sys/vm/drop_caches值设为3。

8、这样缓存释放就已经完成了,再次执行命令Free –m看看,通过图中可以对比看到,内存被释放了218M。

使用free可以获取到设备当前的内存

其中,各项表示的含义如下所示:

total: 总计物理内存大小。

used: 已使用内存大小。

free: 可使用内存大小。

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

buffers/cached: 磁盘缓存大小。

单位都为KB。

对于系统而言,buffers和cached都是被使用的,所以可用内存为1037880KB。

对于应用程序而言,buffers和cached是可用的。当应用程序需要内存的时候,buffers和cached会被回收。从应用程序的角度而言,可用内存=free memory+buffers+cached。按上面的例子,即可用内存为1037880+18864+123656=1180400。

使用cat /proc/meminfo可以查看更详细的内存信息。

/proc/iomem:查看物理设备在物理内存中的映射关系

/proc/slabinfo:内核对象的当前使用状态

/proc/vmstat:虚拟内存统计信息。可以使用vmstat - Report virtual memory statistics 打印虚拟内存状态。

如上所示,/tmp为内存文件系统,内存挂载为内存文件系统(tmpfs)。使用的物理空间不是磁盘,而是内存条。设备重启后,/tmp下文件全清空。

tmpfs文件系统产生原因是为了提高性能。程序运行时候产生的临时文件放在磁盘会影响性能,于是tmpfs作为虚拟内存子系统来储存文件。POSIX共享内存也是基于tmpfs来实现的。

tmpfs的最大空间由RM(Real Memory,即物理内存)和swap(硬盘虚拟的内存空间)组成。

查看挂载信息,可知 tmpfs 文件系统的挂载点有两个,一个/dev/shm,另一个为/tmp。默认情况下, /tmp 将最多使用一半内存。

如果往/tmp文件夹加入大量文件,也会造成系统内存不足。

使用ps可以查看进程的状态

其中与内存相关项含义如下所示:

VSZ:虚拟内存大小。virtual memory size of the process in KiB (1024-byte units). Device mappings are currently excludedthis is subject to change. (alias vsize).

RSS:实际使用物理内存。resident set size, the non-swapped physical memory that a task has used (in kiloBytes). (alias rssize, rsz).

虚拟内存是对进程而言使用的内存,会比较大,可以理解为一个内存布局,建立虚拟内存和磁盘文件的映射关系。在进程调用的时候,查找虚拟内存,将虚拟内存对应磁盘文件拷贝到物理内存,进行调度寻址等 *** 作。

进程使用的物理内存为RSS表示的物理内存大小,其中包括链接的动态库使用的内存,不只是单独进程使用的物理内存大小。

也可以通过/proc/下去查找对应进程id的相关内存信息。

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

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11465198.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存