setrlimit
设置参数满足
struct rlimit{
rlim_t rlim_cur; // 软限制
rlim_t rlim_max; // 硬限制
}
可以设置的参数:
- RLIMIT_AS:进程总的可用的存储空间的大小。此外,自动堆栈扩展也将失败(并生成一个SIGSEGV,当没有备用堆栈可用时,它会终止进程)
- RLIMIT_CORE:核心文件的最大大小。当0时,不会创建任何核心转储文件。当非零时,较大的转储将被截断到此大小。
- RLIMIT_CPU:CPU时间的最大值(秒),当超过此软限制时,向该进程发送SIGXCPU信号。
- RLIMIT_DATA:数据段的最大字节长度。当进程通过brk()或sbrk()函数试图扩大其数据段至超过软限制时,这些函数调用将失败并返回ENOMEM错误。
- RLIMIT_FSIZE:可以创建的文件的最大字节长度。当超过此软限制时,则向该进程发送SIGXFSZ信号。
- RLIMIT_LOCKS:一个进程可持有的文件锁的最大数。
- RLIMIT_MEMLOCK:一个进程使用mlock能够锁定在存储器中的最大字节长度。
- RLIMIT_NOFILE:每个进程能打开最大文件数。更改此限制将影响到sysconf函数在参数_SC_OPEN_MAX返回的值。
- RLIMIT_NPROC:每个实际用户ID可拥有的最大子进程数。更改此限制将影响到sysconf函数在参数_SC_CHILD_MAX返回的值。
- RLIMIT_RSS:最大驻内存集的字节长度。(resident set size in bytes,RSS)
- RLIMIT_SBSIZE:用户在任一给定时刻可以占用的套接字缓冲区的最大长度。
- RLIMIT_STACK:栈的最大字节长度。在达到该极限时,产生SIGSEGV信号。
- RLIMIT_SWAP:用户可以使用最大的交换空间的大小
- RLIMIT_NICE:nice值设置的最大限制
补充
RLIMIT_CPU是限制cpu使用时间,不是cpu占用率,是限制CPU使用时间为多少秒以内。
标签:限制,函数,CPU,RLIMIT,进程,最大,setrlimit,字节 From: https://www.cnblogs.com/hy227/p/18113108