"ulimit -l"是什么意思?

Eri*_*ung 21 linux ulimit

根据联机帮助页,ulimit中的"-l"表示"可能锁定到内存中的最大大小".这句话到底意味着什么?它如何影响正在运行的程序?

180*_*ION 17

锁定的内存可能不会被分页 - 这会减少可用于其他进程的内存量.此设置限制了可以锁定的内存量.

  • ulimit仅限制您可以锁定的数量.您需要调用mlock或mlockall才能实际锁定它. (6认同)

bri*_*zil 8

这限制了你可以使用mlock无法调用的内存量

了setrlimit手册页说:

可以锁定到RAM的最大内存字节数.实际上,此限制向下舍入到系统页面大小的最接近倍数.此限制会影响mlock(2)和mlockall(2)以及mmap(2)MAP_LOCKED操作.从Linux 2.6.9开始,它还影响shmctl(2)SHM_LOCK操作,它在共享内存段(参见shmget(2))中的总字节数上设置了最大值,这可能被调用进程的真实用户ID锁定.shmctl(2)SHM_LOCK锁与mlock(2),mlockall(2)和mmap(2)MAP_LOCKED建立的每进程内存锁分开计算; 进程可以在这两个类别中的每一个中将字节锁定到此限制.在2.6.9之前的Linux内核中,此限制控制了特权进程可以锁定的内存量.从Linux 2.6.9开始,对特权进程可能锁定的内存量没有限制,而此限制则控制非特权进程可能锁定的内存量.