hp-unix,malloc无法分配内存

tonyma1020 2009-05-27 05:02:22
一个统计进程,启动之后大约会占用900多m的内存.进程在两台hp-unix服务器下运行都出现无法分配内存问题,一台内存16g,一台内存是2G.感觉不应该是内存的问题.但是为什么malloc返回为null.谁能解释下?hu-unix 64位,对进程有内存限制吗?或者是程序本身的问题?
而且在malloc之前我现在已经把大量内存delete掉了,但是在之后malloc时,返回null.连续两次都是这个问题?难道是我的堆内存不够?如果去判断?我之前delete掉的内存没有返回堆内存????
另外一个现象是,当我对稍微小点的数据量(310M左右)进行处理时,没有问题.对大点的数据量(340M左右)就会出现问题.
请教各位达人应该怎么解决?
...全文
225 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
tonyma1020 2009-05-28
  • 打赏
  • 举报
回复
实在没想出办法,只好不一次申请这么大的内存,读一条数据申请一块.刚测试了一下,还没发现问题.现在正继续第二次整体测试.
tonyma1020 2009-05-28
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 morris88 的回复:]
引用 8 楼 datacode 的回复:

你怎么会申请那么多的内存。你可以用 ulimit 看看系统的限制条件
一般情况下是没法分配那么多的内存的。
如果确实需要,修改 ulimit 的限制


将 ulimit 结果贴上来...
[/Quote]
在unix下输入ulimit命令,结果打印unlimited.
morris88 2009-05-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 datacode 的回复:]
你怎么会申请那么多的内存。你可以用 ulimit 看看系统的限制条件
一般情况下是没法分配那么多的内存的。
如果确实需要,修改 ulimit 的限制
[/Quote]

将 ulimit 结果贴上来...
tonyma1020 2009-05-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lingyin55 的回复:]
引用 4 楼 Demon__Hunter 的回复:

方便的话 贴代码吧~~


不方便贴代码就看别人是怎么错的吧
http://topic.csdn.net/u/20090217/16/9baae336-06b0-45d1-9cc8-7797f29ba28c.html
[/Quote]
看了这个帖子,不过没有发生这位仁兄的问题.关键是处理数据量小的话(310M),就没有任何问题.如果是(340M),就会分配不到内存.
tonyma1020 2009-05-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hairetz 的回复:]
你一次malloc多少字节。

你知道Hp Unix的一个进程的堆上限设置为多大?

不贴代码的话,可以先看看这个。
http://www.lslnet.com/linux/dosc1/66/linux-428912.htm

[/Quote]
maxdsiz、maxssiz和maxtsizwa记得之前查过,分配的内存都是挺大的.试了ulimit命令,结果打印unlimited.
tonyma1020 2009-05-27
  • 打赏
  • 举报
回复
代码的逻辑比较复杂,malloc内存失败是用的以前一个同事写的公共类,在那里面要一次malloc出大约6-9M的内存.
Sou2012 2009-05-27
  • 打赏
  • 举报
回复
学习了!!
z15881328993 2009-05-27
  • 打赏
  • 举报
回复
datacode 2009-05-27
  • 打赏
  • 举报
回复
你怎么会申请那么多的内存。你可以用 ulimit 看看系统的限制条件
一般情况下是没法分配那么多的内存的。
如果确实需要,修改 ulimit 的限制
  • 打赏
  • 举报
回复
你一次malloc多少字节。

你知道Hp Unix的一个进程的堆上限设置为多大?

不贴代码的话,可以先看看这个。
http://www.lslnet.com/linux/dosc1/66/linux-428912.htm
goodname 2009-05-27
  • 打赏
  • 举报
回复
一般unix系统参数都可以调整,但是实在是对hp-unix不熟悉

找了找,看看maxdsiz、maxssiz和maxtsiz如何设置,等等。。。。
lingyin55 2009-05-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 Demon__Hunter 的回复:]
方便的话 贴代码吧~~
[/Quote]

不方便贴代码就看别人是怎么错的吧
http://topic.csdn.net/u/20090217/16/9baae336-06b0-45d1-9cc8-7797f29ba28c.html
机智的呆呆 2009-05-27
  • 打赏
  • 举报
回复
方便的话 贴代码吧~~
冷月清晖 2009-05-27
  • 打赏
  • 举报
回复
占个位,看各位。
goodname 2009-05-27
  • 打赏
  • 举报
回复
站个座,听讲座。
机智的呆呆 2009-05-27
  • 打赏
  • 举报
回复
mallco对应free释放啊

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧