❶ 如何调高linux单进程使用的内存上限
修改/etc/security/limits.conf可以调整进程内存上限, 具体看 man limits.conf
但是我觉得你的问题可能在于java,
一个是java版本,我估计32位版本可能只能用4GB,若是64位的版本就不会
另一个是 java 参数 -Xmx 你先看看现在的设置然后尝试调高,看看是否有效
❷ Linux进程内存管理
对于包含MMU的处理器而言,Linux系统提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。在Linux系统中,进程的4GB内存空间被分为两个部分——用户空间与内核空间。用户空间的地址一般分布为0~3GB(即PAGE_OFFSET,在Ox86中它等于OxC0000000),这样,剩下的3~4GB为内核空间,用户进程通常只能访问用户空间的虚拟地址,不能访问内核空间的虚拟地址。用户进程只有通过系统调用(代表用户进程在内核态执行)等方式才可以访问到内核空间。
每个进程的用户空间都是完全独立、互不相干的,用户进程各自有不同的页表。而内核空间是由内核负责映射,它并不会跟着进程改变,是固定的。内核空间的虚拟地址到物理地址映射是被所有进程共享的,内核的虚拟空间独立于其他程序。
Linux中1GB的内核地址空间又被划分为物理内存映射区、虚拟内存分配区、高端页面映射区、专用页面映射区和系统保留映射区这几个区域。
对于x86系统而言,一般情况下,物理内存映射区最大长度为896MB,系统的物理内存被顺序映射在内核空间的这个区域中。当系统物理内存大于896MB时,超过物理内存映射区的那部分内存称为高端内存(而未超过物理内存映射区的内存通常被称为常规内存),内核在存取高端内存时必须将它们映射到高端页面映射区。Linux保留内核空间最顶部FIXADDR_TOP~4GB的区域作为保留区。
当系统物理内存超过4GB时,必须使用CPU的扩展分页(PAE)模式所提供的64位页目录项才能存取到4GB以上的物理内存,这需要CPU的支持。加入了PAE功能的Intel Pentium Pro及以后的CPU允许内存最大可配置到64GB,它们具备36位物理地址空间寻址能力。
由此可见,对于32位的x86而言,在3~4GB之间的内核空间中,从低地址到高地址依次为:物理内存映射区→隔离带→vmalloc虚拟内存分配器区→隔离带→高端内存映射区→专用页面映射区→保留区。
❸ 怎么查看linux每个进程的内存大小限制
我不知道如何查看。但记得Linux(32位)中每个进程独享4GB的进程空间,需要注意的是这4G指的是虚拟内存,而非物理内存。可以查阅一下Linux虚拟内存机制相关资料。
要定制的话难度大啊!内核文件里用进程描述符(thread_info)表示一个进程,它是一个结构体,里面有个关于进程内存分配的字段(addr_limit)。具体自己研究研究吧!
如果只是对某个进程分配空间的话就简单多了。假如你要为当前进程设置2M的内存上限,可以通过current->addr_limit=2048实现。
❹ Linux系统有多大内存
你是指运行linux系统所需内存吗??
128M可以基本运行并安装
256M可以勉强开启特效
512M流畅运行特效
当然内存越大越好,特效与显卡也有关系
和windows相比,当然linux对内存的需求小
❺ linux 32位系统支持多大内存
32位linux不打开PAE,则最多只能识别出4GB内存,若打开PAE,则最多可以识别出64GB内存。但是 32位系统下的进程一次最多只能寻址4GB的空间。 64位linux则没有32位系统的限制。因此对于内存大于4GB的机器来说,最好安装64位系统。 简单介绍下如何让redhat 5-32位支持4G以上内存。 步骤1: 安装kernel-PAE.i686 内核包,让系统内核支持PAE物理地址扩展。 rpm-ivh kernel-PAE-2.6.18-53.el5.i686.rpm 安装的时候会报如下警告。 将安装命令由原本的rpm-ivh ****.rpm 改为rpm -ivh ****.rpm –force --nodeps就可以了,nodeps的意思是忽视依赖关系。因为各个软件之间会有或多或少的存在关联,有了这两个设置选项就忽略了这些依赖关系,强制安装。 步骤2: 设置linux系统启动加加载内核,让系统启用PAE的内核 [root@wangdm~ 12:40 #11]# /boot/grub/grub.conf #grub.conf generated by anaconda # #Note that you do not have to rerun grub after making changes to this file #NOTICE: You have a /boot partition. This means that # all kernel and initrd paths arerelative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version roroot=/dev/sda3 # initrd /initrd-version.img #boot=/dev/sda default=0 (将default=1修改为default=0就可以了) timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu #升级后的系统引导 titleRed Hat Enterprise Linux Server RedHat Enterprise Linux Server (2.6.18-53.el5PAE) root (hd0,0) kernel /vmlinuz-2.6.18-53.el5PAE roroot=LABEL=/ rhgb quiet initrd /initrd-2.6.18-53.el5PAE.img #升级前的系统引导,将其注释掉 #titleRed Hat Enterprise Linux Server (2.6.18-194.el5) # root (hd0,0) # kernel /vmlinuz-2.6.18-194.el5 roroot=LABEL=/ rhgb quiet # initrd /initrd-2.6.18-194.el5.img 保存后重启linux,系统内核就能最大支持64G内存了。 通过查,cat/boot/config-*grep PAE可以查看当前的支持情况如下图显示。
❻ linux系统最大堆栈内存
linux系统最大堆栈消搜内存是-Xmx512m。根据查找相关公开资料显敏简示,linux系统堆栈大小拿拿历的配置启动参数,初始堆大小-Xms32m最大堆大小-Xmx512m。