发新话题
打印

能否开辟一段用户自定大小的内存让程序运行

能否开辟一段用户自定大小的内存让程序运行

随着计算机内存的增大,我们现在编程往往没注意到内存的消耗。
初学者经常会把一个程序编出来,但往往占用很多内存,但人很容易满足于成功,一旦编出来运行成功就不管了,
没有去再想一下怎样把程序优化一下。

所以 我想问 能否开辟一段用户自定大小的内存让程序运行?
假如开辟较小的内存让程序只能该访问,那么那些占用内存巨大的程序就会在测试中失败。

问题时   那怎样解决这问题
很多时我们没能注意到自己的程序占用很多内存的
我们很多时候关注的是能否解决

那换个问题
能否检测得到一个程序在运行时占用了多少内存?
只想到个笨办法:
装个虚拟机,再在里装系统,调小虚拟系统的内存,再运行用户程序...
期待更好的办法,呵呵.
ps -aux
%MEM:代表该程序使用了多少的 RAM ;
学习linux的朋可以找我,淘宝店:http://shop35598684.taobao.com/,技术问题也可以问偶。
引用:
原帖由 wgqjjq2003 于 2008-4-5 10:53 发表
ps -aux
%MEM:代表该程序使用了多少的 RAM ;
好办法......
这个问题应该从限制用户使用系统资源的角度出发。

可以用PAM来限制某个用户的可以使用的资源,首先要开启PAM_limits.so功能,在/etc/pam.d/login中加上
session      required     pam_limits.so
作用是对每个登录进来的会话进行限制。具体的限制则由/etc/security/limits.conf中的内容来决定。打开这个文件添加相应的规则就行,每行对应一个用户和一个规则。比如想限制student用户使用的内存数量,就加上一条:
student    hard   memlock    1000
这就使student用户只能使用1000KB的内存,还可以添加更多的限制:
student    hard   maxlogins   1
这是限制student用户只能创建一个会话。
发新话题