怎么减少 linux c程序内存占用

怎么减少 linux c程序内存占用,第1张

1. 在linux下,查看一个运行中的程序占用了多少内存, 一般的命令有

(1). ps aux:

其中 VSZ(或VSS)列 表示,程序占用了多少虚拟内存。

RSS列 表示, 程序占用了多少物理内存。

虚拟内存可以不用考虑,它并不占用实际物理内存。

(2). top 命令也可以

其中 VIRT(或VSS)列 表示,程序占用了多少虚拟内存。 同 ps aux 中的 VSZ列

RES列 表示, 程序占用了多少物理内存。同 ps aux 中的RSS列

2.在linux下, 查看当前系统占用了多少内存, 一般的命令是 free

其中, free就是系统还有多少内存可以使用。

但由于 linux 系统对内存使用有一个原则, 就是, 内存是宝贵的, 能使用多少就使用多少。 所以, linux会把已经调用过的包缓存起来,放在内存里。

这样,实际上,可以使用的内存,就可以理解为, free+buffers+cached

这是有可能的,主要还是看linux的filecache参数,如果设置的大(至少要大于两个文件的大小),内存又确实空闲了,那么就是先将文件放在了内存当中。后续如果有其它程序请求内存空间,会根据最近最少使用算法来决定是否替换。查看是否占用空间可以看free -m里面的cached参数,手动删除可以使用echo 3 >/sys/proc/sys/vm/drop_caches


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

原文地址:https://54852.com/yw/7523554.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存