社区
Linux/Unix社区
帖子详情
程序占用很大的内存
aflyinghorse
2007-10-10 02:21:12
一个在solaris下的程序,运行很长时间, 占用的内存很大,约2G, 用purify查不出内存泄漏。
solaris的内存管理机制是等到系统的内存比较小时,才启动page scanner线程进行回收。所以怀疑
我的程序并没有占2G,只不过程序释放的内存没有被solaris回收而已。
我的问题是怎样才能看到程序真实占用的内存是多少, 已经释放但没有被solaris回收的内存是多少?
用相关的命令吗? 谢谢。
...全文
357
16
打赏
收藏
程序占用很大的内存
一个在solaris下的程序,运行很长时间, 占用的内存很大,约2G, 用purify查不出内存泄漏。 solaris的内存管理机制是等到系统的内存比较小时,才启动page scanner线程进行回收。所以怀疑 我的程序并没有占2G,只不过程序释放的内存没有被solaris回收而已。 我的问题是怎样才能看到程序真实占用的内存是多少, 已经释放但没有被solaris回收的内存是多少? 用相关的命令吗? 谢谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aflyinghorse
2007-10-18
打赏
举报
回复
有什么方法可以减少程序所占虚拟内存吗?
aflyinghorse
2007-10-16
打赏
举报
回复
UP
aflyinghorse
2007-10-15
打赏
举报
回复
有人能解释一下solaris的内存回收机制吗?
swap和page scanner两种机制什么时候起作用?
zeloas
2007-10-12
打赏
举报
回复
用dtrace动态跟踪
aflyinghorse
2007-10-12
打赏
举报
回复
怎么看系统设置缓存阀值?
hefuhua
2007-10-12
打赏
举报
回复
应该正常的,看你系统有设置缓存阀值是不是很大..
aflyinghorse
2007-10-11
打赏
举报
回复
我写了一个小程序测试了一下。程序A分配了大量的内存, 然后全部释放。然后这个程序处于sleep状态
这是prstat的结果:
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
1301 liangzh 2677M 2676M sleep 59 0 0:10:04 0.0% testmap_swap/1
这时启动另一个程序B不停的分配内存, 可以看到A的RSS在不停的减少, 但是SIZE却没有变化。
为什么会出现这样的现象?
dai_weitao
2007-10-11
打赏
举报
回复
正常现象吧.
aflyinghorse
2007-10-11
打赏
举报
回复
试了一下sync, 没什么变化
还是占很大内存
aflyinghorse
2007-10-11
打赏
举报
回复
pmap -xs 6561
6561: testmap_swap
Address Kbytes RSS Anon Locked Pgsz Mode Mapped File
00010000 224 224 - - 8K r-x-- testmap_swap
00056000 16 16 16 - 8K rwx-- testmap_swap
0005A000 2739208 2739208 2739208 - 8K rwx-- [ heap ]
FF200000 136 136 - - 8K r-x-- libc.so.1
FF222000 8 8 - - - r-x-- libc.so.1
FF224000 128 128 - - 8K r-x-- libc.so.1
FF244000 8 8 - - - r-x-- libc.so.1
FF246000 64 64 - - 8K r-x-- libc.so.1
FF256000 48 48 - - - r-x-- libc.so.1
FF262000 120 120 - - 8K r-x-- libc.so.1
FF280000 88 88 - - - r-x-- libc.so.1
FF296000 88 88 - - 8K r-x-- libc.so.1
FF2BC000 24 24 24 - 8K rwx-- libc.so.1
FF2C2000 8 8 8 - 8K rwx-- libc.so.1
FF310000 8 8 - - 8K r-x-- libc_psr.so.1
FF31A000 8 8 8 - 8K rwx-- libdl.so.1
FF320000 8 8 8 - 8K rwx-- [ anon ]
FF330000 64 64 - - 8K r-x-- libm.so.1
FF340000 160 160 - - - r-x-- libm.so.1
FF376000 8 8 8 - 8K rwx-- libm.so.1
FF380000 48 48 - - 8K r-x-- libCrun.so.1
FF39A000 8 8 8 - 8K rwx-- libCrun.so.1
FF39C000 16 - - - - rwx-- libCrun.so.1
FF3B0000 8 8 - - 8K r-x-- libw.so.1
FF3C0000 192 192 - - 8K r-x-- ld.so.1
FF3F0000 8 8 8 - 8K rwx-- ld.so.1
FF3F2000 8 8 8 - 8K rwx-- ld.so.1
FFBFA000 24 24 24 - 8K rw--- [ stack ]
-------- ------- ------- ------- -------
total Kb 2740736 2740720 2739328 -
shgmail
2007-10-11
打赏
举报
回复
在new的地方做上记录,释放时也记录下,然后看看是怎么回事
wangling21908
2007-10-10
打赏
举报
回复
SYNC试下,不是很懂
帮顶
hefuhua
2007-10-10
打赏
举报
回复
同步下sync命令试试..
NC
2007-10-10
打赏
举报
回复
占用的内存是一直在增加么?还是一直固定在2G?如果是前者,很有可能是内存泄露,任何内存检查工具不是所有的泄露情况都能检查出来的。
linux_is_perfect
2007-10-10
打赏
举报
回复
不是很清楚, 关注, 帮顶
学习
aflyinghorse
2007-10-10
打赏
举报
回复
UP
java
程序
占用
实际
内存
大小
很多人错误的认为运行Java
程序
时使用-Xmx和-Xms参数指定的就是
程序
...堆只是影响Java
程序
占用
内存
数量的一个因素。要更好的理解你的Java
程序
将会
占用
多大的
内存
需要先了解有哪些因素会影响到
内存
的
占用
。这些因素包括:
Linux系统used
内存
占用
很大
,而实际系统中个进程并没有
占用
这么多
内存
问题新装服务器,used
内存
占用
很大
,而实际系统中个进程并没有
占用
这么多
内存
现象top查看下,used
很大
,如果有其他外部
程序
向监控服务器的
内存
,used实际是个比较关键的指标,而该指标却并没有反应出服务器实际
占用
...
程序
占用
的
内存
分析
OP显示的
占用
内存
是进程的虚拟
内存
,我们需要了解的是
程序
实际
占用
内存
的量,也就是物理
内存
占用
。 虚拟
内存
的地址和实际物理
内存
的地址之间有对应关系,这个关系是操作系统维护的,CPU负责根据这个对应关系进行地址...
Java所编写的
程序
在运行的时候
占用
内存
是否真的
很大
了?
“java
程序
运行的时候
占用
内存
很大
”我相信只要接触IT这个行业的人大部分的人都会毫不犹豫回答java
程序
运行的时候
占用
内存
很大
。也是许多java
程序
员默认的说法。在这里在这里我想在这里说下。 和许多
程序
员一样我也...
解决win10一开机
内存
(8G)就
占用
70%多,查看任务管理器并没有
占用
内存
很高的进程的问题
问题描述: 这几天电脑运行大
内存
的应用,会...首先想到的是查看任务管理器里的进程,结果并没有
内存
占用
很大
的进程...除了自己运行的idea,排在第二的
内存
占用
进程是 服务主机 super fetch 问题解决: 方法一...
Linux/Unix社区
23,217
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章