问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求助,LINUX下C 直接被KILLED-CSDN论坛

发布网友 发布时间:2022-05-10 16:32

我来回答

1个回答

热心网友 时间:2023-10-16 08:16

原来这是stack size 堆大小 达到最大后,就错误了。
在Linux下,这个其实是可以设置的。
使用 ulimit命令即可设置,不但可以设置这个,还可以设置其他很多*,使用ulimit -a可以查看当前的设置。

ayanmw@ayanmw-desktop:~/server_epoll$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheling priority (-e) 20
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
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) 4096
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

看到stack size居然是8192KB。
程序一般是分为 堆 和 栈,堆 是存放变量名称的地方,比如指针一个指针 本身占用4个字节,指向一个32位地址(64位系统加倍),一般的变量比如int a,这里a的名称也是一个变量,指向存有值的a的空间地址。
而栈就是放数据的地方,只要内存还有,就可以一直分配,不信你可以使用 一个指针,然后malloc(599999)的大小,进程占用内存就有几十MB了。
可以看到,linux下还可以设置文件大小,打开的文件的数量*。等等。
============================================
以前发现普通用户无法修改ulimit,root用户 可以.
百度搜索得到:
/etc/security/limits.conf
添加
* soft nofile 8192
* hard nofile 8192

可以修改.
CentOS 或 RedHat这个文件的路径貌似是:
[oracle@qs-xezf-db2 ~]$ cat /etc/sysconfig/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
修改文件应该就可以达到效果了.
有人说:在/root/.bashrc中增加:
ulimit -u unlimited
ulimit -n 10240
不一定管用.- -
sysctl -a 可以查看更多系统配置信息.

1、cat /proc/sys/fs/file-max,可以获得整个系统的文件句柄数目。一般是8192。如果希望增加句柄的总数,可以在脚本/etc/rc.d/rc..local中添加一行:echo 10240 >; /proc/sys/fs/file-max (举例)

不解:使用lsof -f|wc -l 可以看到当前系统的打开文件总数,我的一台邮件服务器在最疯狂的时候曾输出值为4万!!!就是说同时打开了(或未完全关闭)4万个文件链接。而file-max值为8192,为什么??

2、通过设置/etc/security/limits.conf,实现控制每个进程的文件句柄数目。

添加两行: * soft nofile 1024
* hard nofile 8192

确认/etc/pam.d/system-auth文件中有下面一行:session required /lib/security/pam_limits.so

如果说每个进程能打开的文件句柄数目*为8192,那该进程产生的线程所打开的文件句柄数目是限在该8192内?还是又一个8192呢?

这个问题,最后采取了一个比较简单的方法:
在/boot/.bashrc中加入:
ulimit -u unlimited
ulimit -n 20480

然后所有普通用户的open files都变为20480了,用户最大进程数变为ulimited了。

我看到有的地方说AS3要该进程数只能在
1、设置fd_set支持的最大数量
a、修改/usr/include/bits/typesizes.h
#define __FD_SETSIZE 1024 --->; 65536
b、修改/usr/src/linux/include/linux/posix_types.h
#define __FD_SETSIZE 1024 --->; 65536

2、修改/usr/src/linux/include/linux/fs.h
  设置最大打开文件数量(TCP连接数量)
  #define INR_OPEN 1024 --->; 65536
  #define NR_FILE 8192 --->; 65536
  #define NR_RESERVED_FILES 10 --->; 128
3、修改/usr/src/linux/include/net/tcp.h
  a、设置TIMEOUT的时间为1秒
  #define TCP_TIMEWAIT_LEN (60*HZ) 60 --->; 1*HZ
  b、设置在backlog队列里的半连接的重试次数,每次都会花相应的时间,本质上也是减少重试时间
  #define TCP_SYNACK_RETRIES 5 --->; 3

然后通过编译内核的方式来增加, 这样比ulimit 更直接修改内核参数.因为内核 是编译出来的.

压力测试:
yuan@yuan-desktop:~$ ab -n 30000 -c 5000 http://localhost/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost [through 218.19.166.24:3129] (be patient)
socket: Too many open files (24)
提示出错 上网查到是socket系统默认为1024 大于该直就报错 修改.
Out of memory: Kill process 解决

OOM_killer是Linux自我保护的方式,当内存不足时不至于出现太严重问题,有点壮士断腕的意味 在kernel 2.6,内存不足将唤醒oom_killer,挑出/proc/&lt;pid&gt;/oom_score最大者并将之kill掉 为了保护重要进程不被oom-killer掉,我们可以:echo -17 &gt; /proc/&lt;pid&gt;/oom_adj,-17表示禁用OOM 我们也可以对...

Load Port、SMIF

威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...

CS85论坛 C260L论坛 GLC论坛 XC60论坛 XC40论坛 C论坛 CⅩ4论坛 教育论坛是C 福建论坛是C刊吗
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
tplink无线扩展器怎样重置密码 扩展器原始的密码是什么 如何重新设置TPLink扩展器的密码简单步骤教你修改TPLink扩展器的... 为什么要加入tcpip协议 父母如何给孩子做一个好榜样 父母应该如何做孩子的榜样? 冬季草原防火安全知识 冬季景区该如何预防火灾 厨房暗管漏水 多少钱 手脚出汗,睡眠不好,早泄是阳虚还是阴虚 煤改电之后,使用电锅炉省钱吗,费不费电? 煤改电锅炉达到一定温度不保温怎么办 我跟我对象订婚了,但是我在网上发现她的不雅视频怎么办? 放羊的星星里面的所有歌曲,以及林志颖的详细资料,顺便问一下,林志颖要订婚的对象是谁? 冰岛情侣火山前拍订婚大片,你怎么看待这拍订婚照的方式? 订婚男友看抖音一个女的,最近唱了一曲相思挺火。喜欢她的30作品。心里不舒服。说出来吧也不好受, 电锅炉的供水温度应该调到多少 瑞科汉斯电锅炉怎么设置 anaconda的安装程式 梦见自己驾驶轰炸机已经投放了炸蛋? 先发制人的塞梅伊发射器和哈萨克斯坦怎么解锁? 做了修复种植牙以后我要注意什么 长期不登录是否会被注销?还可以登录吗? 我的洗衣机能脱水但洗时转几圈就停待会又转了,是什么原因 全自动洗衣机脱水动了一下,就停了是什么原因? 之前申请过,但是没有加好友,长时间没有使用登录不上,怎么办? 种植牙的术后注意事项是什么? 请问京剧基本功里指的:“手眼声法步”,五个字,如何写正确呢? 京剧的基本表演手段是手眼身法步还是唱念做打? 京剧的四项基本功都是什么呀 如何修改注册表防范DDOS攻击 为系统服务的语言有哪些。 求一个好一点的文件恢复软件 企业员工工伤治疗期间工资怎么算 深圳市汉威装饰设计工程有限公司怎么样? 西安汉威建筑工程有限公司怎么样? 北京汉威文化传播有限公司怎么样? 重庆汉威建筑工程有限公司怎么样? 七年级上册数学理科爱好者答案 广东汉威主建展览有限公司怎么样? 广东汉威城建有限公司怎么样? 协信破产会影响交房吗? 比亚迪2022款汉EVGT,这款汽车有哪些优势? 百度怎样升级? 猪肉有哪些部位?这些部位哪些用来炒或者炖?.请生意经朋友帮忙 如何升级百度 东莞市汉威空调净化工程有限公司怎么样? 【跪求】理科爱好者数学七年级下册2011年25期157页到192页答案~~ 百度怎么升级啊 北京埃菲特国际房地产经纪有限公司怎么样?