36.1 进程资源使用
getrusage()系统调用返回调用进程或其子进程用掉的各类资源的统计信息。
who:指定了需查询资源使用信息的进程:
res_usage:一个指向rusage结构的指针
36.2 进程资源限制
每个进程都有一组资源限值,它们可以用来限制进程能够消除的各种系统资源。
使用shell的内置命令ulimit可以设置shell的资源限制。shell创建用来执行用户命令的进程会继承这些限制。
查看限制:
getrlimit()和setrlimit系统调用允许一个进程读取和修改自己的资源限制。
resource:标识出了需读取或修改的资源限制。
rlim:用于返回限制值或指定新的资源限制值:
软限制和硬限制:
资源值:
无法表示的限制值
在某些程序设计环境中,rlim_t数据类型可能无法表示某个特定资源限制的所有可取值,这是因为一个系统可能提供了多个程序设计环境,而在这些程序设计环境中rlim_t数据类型的大小时不同的。
解决办法:
36.3 特定资源限制细节
RLIMIT_AS:规定了进程的虚拟内存的最大字节数。
RLIMIT_CORE:规定了当进程被特定信号终止时产生的核心dump文件的最大字节数,超过该限制时,核心转储文件就不会再产生了。
RLIMIT_CPU:规定了进程最多使用CPU时间。
RLIMIT_DATA:规定了进程的数据段的最大字节数。
。。。还有好多