在进行调试的时候我们遇到问题有很多,其实涉及到功能逻辑方面的,还有就是由于一些细节导致的段错误--Segmentation fault。在这里就是对我们在开发过程中对在测试和联调过程中遇到问题的解决技巧或者方法方法进行了总结,很多大家都已经很熟悉了。
首先我们要认识一个命令:
ulimit 命令说明:
功能说明:控制shell程序的资源。
语 法:ulimit [-aHS][-c <core文件上限>][-d <数据节区大小>][-f <文件大小>][-m <内存大小>][-n <文件数目>][-p <缓冲区大小>][-s <堆叠大小>][-t <CP时间>][-u <程序数目>][-v <虚拟内存大小>]
补充说明:ulimit为shell内建指令,可用来控制shell执行程序的资源。
参 数:
-a 显示目前资源限制的设定(a=all)。
-c <core文件上限> 设定core文件的最大值,单位为区块。
-n <文件数目> 指定同一时间最多可开启的文件数。
-s <堆叠大小> 指定堆叠的上限,单位为KB。
-S 设定资源的弹性限制。
-u <程序数目> 用户最多可开启的程序数目。
ulimit -a 用来显示当前的各种用户进程限制。
ulimit –c 可查看core文件生成没有的开关,若结果为0,表示关闭了此功能,不会生成core文件。
Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数,下面我把某linux用户的最大进程数设为10000个:
ulimit -u 10000
ulimit -n xx 修改每个进程可打开的文件数,缺省值是 1024。
ulimit -n 4096 将每个进程可以打开的文件数目加大到4096,缺省为1024
其他建议设置成无限制(unlimited)的一些重要设置是:
数据段长度:ulimit -d unlimited
最大内存大小:ulimit -m unlimited
堆栈大小:ulimit -s unlimited
CPU 时间:ulimit -t unlimited
虚拟内存:ulimit -v unlimited
有时需要调整ulimit的