用linux命令和程序实际测试一下单进程能打开的最大的句柄数(也可以说是文件数)------并不一定是1024/2048哈

本文通过实验探讨Linux系统中单进程能够打开的最大句柄数,这个数值并非固定不变,可能会超过1024,并且在不同机器上有所差异。
摘要由CSDN通过智能技术生成

        本文中, 我们继续来做小实验, 看看linux单进程能打开的最大的句柄数(其实也是文件数, 因为linux下一切皆文件嘛),  命令如下:

xxxxxx:~/network> ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 28064
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 28064
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
xxxxxx:~/network> 
xxxxxx:~/network> 
xxxxxx:~/network> 
xxxxxx:~/network> ulimit -n
1024
xxxxxx:~/network> 
       可以看到, 最大文件数是1024.  来写个实际程序测测:

#include <malloc.h>  
#include <netinet/in.h>  
#include <arpa/inet.h>  
#include <sys/ioctl.h>  
#include <stdarg.h>  
#include <fcntl.h>  
#include <fcntl.h>  

int main()
{
	int iSock = 0;
	for(unsigned int i = 0; i < 1050; i++)
	{
		iSock = socket(AF_INET, SOCK_DGRAM, 0);  // 模拟句柄泄漏
		printf("iSock is %d\n", iSock);
	}

	printf("end\n");
	return 0;
}
      来, 运行看一下:

xxxxxx:~/network> ./a.out 
iSock is 3
iSock is 4
iSock is 5
iSock is 6
iSock is 7
iSock is 8
iSock is 9
iSock is 10
iSock is 11
iSock is 12
iSock is 13
iSock is 14
iSock is 15
iSock is 16
iSock is 17
iSock is 18
iSock is 19
iSock is 20
iSock is 21
iSock is 22
iSock is 23
iSock is 24
iSock is 25
iSock is 26
iSock is 27
iSock is 28
iSock is 29
iSock is 30
iSock is 31
iSock is 32
iSock is 33
iSock is 34
iSock is 35
iSock is 36
iSock is 37
iSock is 38
iSock is 39
iSock is 40
iSock is 41
iSock is 42
iSock is 43
iSock is 44
iSock is 45
iSock is 46
iSock is 47
iSock is 48
iSock is 49
iSock is 50
iSock is 51
iSock is 52
iSock is 53
iSock is 54
iSock is 55
iSock is 56
iSock is 57
iSock is 58
iSock is 59
iSock is 60
iSock is 61
iSock is 62
iSock is 63
iSock is 64
iSock is 65
iSock is 66
iSock is 67
iSock is 68
iSock is 69
iSock is 70
iSock is 71
iSock is 72
iSock is 73
iSock is 74
iSock is 75
iSock is 76
iSock is 77
iSock is 78
iSock is 79
iSock is 80
iSock is 81
iSock is 82
iSock is 83
iSock is 84
iSock is 85
iSock is 86
iSock is 87
iSock is 88
iSock is 89
iSock is 90
iSock is 91
iSock is 92
iSock is 93
iSock is 94
iSock is 95
iSock is 96
iSock is 97
iSock is 98
iSock is 99
iSock is 100
iSock is 101
iSock is 102
iSock is 103
iSock is 104
iSock is 105
iSock is 106
iSock is 107
iSock is 108
iSock is 109
iSock is 110
iSock is 111
iSock is 112
iSock is 113
iSock is 114
iSock is 115
iSock is 116
iSock is 117
iSock is 118
iSock is 119
iSock is 120
iSock is 121
iSock is 122
iSock is 123
iSoc
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值