知方号

知方号

关于linux系统最大进程数和单进程最大线程数的测试

关于linux系统最大进程数和单进程最大线程数的测试

我的系统:RedHat企业7 64位 内存6G ulimit -a查看用于shell启动进程所占用的资源默认设置 一.最大进程数 1.使用命令ulimit -u查看软限制,我的为7807 /etc/security/limits.conf查看硬限制,内核参数kernel.pid_max也做了限制 2.系统用pid_t表示进程号,那么最大的进程数当然也不能超过pid_t的类型 查看最大进程数

cat /proc/sys/kernel/pid_max#查系统支持的最大进程数,一般会很大,相当于理论值

3.创建一个新进程会消耗系统资源(主要是内存),经测试,在创建6000多个进程时,程序运行的很缓慢,通过vmstat命令看到,swap内存置入置出频繁,可以判断是由于内存不足,使用虚拟内存,所创建过多进程时,系统内存必须要加以衡量。

代码验证:

#include#include#includeusing namespace std;int main(){ pid_t pid; int i=0; while(1) { pid = fork(); if(pid == 0) break; else if(pid == -1) { perror("create error"); break; } cout

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。