ÅäÖÿª·¢Ö§³Ö¸ß²¢·¢TCPÁ¬½ÓµÄLinuxÓ¦ÓóÌÐòÈ«¹¥ÂÔ
ÔÎļû£ºhttp://www.cppblog.com/flashboy/articles/47012.html
1¡¢ÐÞ¸ÄÓû§½ø³Ì¿É´ò¿ªÎļþÊýÏÞÖÆ
ÔÚLinuxƽ̨ÉÏ£¬ÎÞÂÛ±àд¿Í»§¶Ë³ÌÐò»¹ÊÇ·þÎñ¶Ë³ÌÐò£¬ÔÚ½øÐи߲¢·¢TCPÁ¬½Ó´¦Àíʱ£¬×î¸ßµÄ²¢·¢ÊýÁ¿¶¼ÒªÊܵ½ÏµÍ³¶ÔÓû§µ¥Ò»½ø³Ìͬʱ¿É´ò¿ªÎļþÊýÁ¿µÄÏÞÖÆ(ÕâÊÇÒòΪϵͳΪÿ¸öTCPÁ¬½Ó¶¼Òª´´½¨Ò»¸ösocket¾ä±ú£¬Ã¿¸ösocket¾ä±úͬʱҲÊÇÒ»¸öÎļþ¾ä±ú)¡£¿ÉʹÓÃulimitÃüÁî²é¿´ÏµÍ³ÔÊÐíµ±Ç°Óû§½ø³Ì´ò¿ªµÄÎļþÊýÏÞÖÆ£º
[speng@as4 ~]$ ulimit -n
1024
Õâ±íʾµ±Ç°Óû§µÄÿ¸ö½ø³Ì×î¶àÔÊÐíͬʱ´ò¿ª1024¸öÎļþ£¬Õâ1024¸öÎļþÖл¹µÃ³ýȥÿ¸ö½ø³Ì±ØÈ»´ò¿ªµÄ±ê×¼ÊäÈ룬±ê×¼Êä³ö£¬±ê×¼´íÎ󣬷þÎñÆ÷¼àÌý socket£¬½ø³Ì¼äͨѶµÄunixÓòsocketµÈÎļþ£¬ÄÇôʣϵĿÉÓÃÓÚ¿Í»§¶ËsocketÁ¬½ÓµÄÎļþÊý¾ÍÖ»Óдó¸Å1024-10=1014¸ö×óÓÒ¡£Ò²¾ÍÊÇ˵ȱʡÇé¿öÏ£¬»ùÓÚLinuxµÄͨѶ³ÌÐò×î¶àÔÊÐíͬʱ1014¸öTCP²¢·¢Á¬½Ó¡£
¶ÔÓÚÏëÖ§³Ö¸ü¸ßÊýÁ¿µÄTCP²¢·¢Á¬½ÓµÄͨѶ´¦Àí³ÌÐò£¬¾Í±ØÐëÐÞ¸ÄLinux¶Ôµ±Ç°Óû§µÄ½ø³Ìͬʱ´ò¿ªµÄÎļþÊýÁ¿µÄÈíÏÞÖÆ(soft limit)ºÍÓ²ÏÞÖÆ(hardlimit)¡£ÆäÖÐÈíÏÞÖÆÊÇÖ¸LinuxÔÚµ±Ç°ÏµÍ³Äܹ»³ÐÊܵķ¶Î§ÄÚ½øÒ»²½ÏÞÖÆÓû§Í¬Ê±´ò¿ªµÄÎļþÊý£»Ó²ÏÞÖÆÔòÊǸù¾ÝϵͳӲ¼þ×ÊÔ´×´¿ö(Ö÷ÒªÊÇϵͳÄÚ´æ)¼ÆËã³öÀ´µÄϵͳ×î¶à¿Éͬʱ´ò¿ªµÄÎļþÊýÁ¿¡£Í¨³£ÈíÏÞÖÆÐ¡ÓÚ»òµÈÓÚÓ²ÏÞÖÆ¡£
ÐÞ¸ÄÉÏÊöÏÞÖÆµÄ×î¼òµ¥µÄ°ì·¨¾ÍÊÇʹÓÃulimitÃüÁ
[speng@as4 ~]$ ulimit -n <file_num>
ÉÏÊöÃüÁîÖУ¬ÔÚ<file_num>ÖÐÖ¸¶¨ÒªÉèÖõĵ¥Ò»½ø³ÌÔÊÐí´ò¿ªµÄ×î´óÎļþÊý¡£Èç¹ûϵͳ»ØÏÔÀàËÆÓÚ“Operation notpermitted”Ö®ÀàµÄ»°£¬ËµÃ÷ÉÏÊöÏÞÖÆÐÞ¸Äʧ°Ü£¬Êµ¼ÊÉÏÊÇÒòΪÔÚ<file_num>ÖÐÖ¸¶¨µÄÊýÖµ³¬¹ýÁËLinuxϵͳ¶Ô¸ÃÓû§´ò¿ªÎļþÊýµÄÈíÏÞÖÆ»òÓ²ÏÞÖÆ¡£Òò´Ë£¬¾ÍÐèÒªÐÞ¸ÄLinuxϵͳ¶ÔÓû§µÄ¹ØÓÚ´ò¿ªÎļþÊýµÄÈíÏÞÖÆºÍÓ²ÏÞÖÆ¡£
µÚÒ»²½£¬ÐÞ¸Ä/etc/security/limits.confÎļþ£¬ÔÚÎļþÖÐÌí¼ÓÈçÏÂÐУº
speng soft nofile 10240
speng hard nofile 10240
ÆäÖÐspengÖ¸¶¨ÁËÒªÐÞ¸ÄÄĸöÓû§µÄ´ò¿ªÎļþÊýÏÞÖÆ£¬¿ÉÓÃ'*'ºÅ±íʾÐÞ¸ÄËùÓÐÓû§µÄÏÞÖÆ£»soft»òhardÖ¸¶¨ÒªÐÞ¸ÄÈíÏÞÖÆ»¹ÊÇÓ²ÏÞÖÆ£»10240ÔòÖ¸¶¨ÁËÏëÒªÐ޸ĵÄеÄÏÞÖÆÖµ£¬¼´×î´ó´ò¿ªÎļþÊý(Çë×¢ÒâÈíÏÞÖÆÖµÒªÐ¡ÓÚ»òµÈÓÚÓ²ÏÞÖÆ)¡£ÐÞ¸ÄÍêºó±£´æÎļþ¡£
µÚ¶þ²½£¬ÐÞ¸Ä/etc/pam.d
Ïà¹ØÎĵµ£º
Õâ½Ú¿Î³ÌÊÇÏàµ±ÖØÒªµÄ¡£Ò²ÊÇRHCE¿¼ÊÔÉÏÎçµÄ¿¼µÄÖ÷ÒªÄÚÈÝ£¬ÏµÍ³ÅÅ´í¡£Ö»ÒªÄã¿´¶®ÁËϵͳµÄÆô¶¯Á÷³Ì£¬ÅÅ´í¾Í»ù±¾Ã»Óжà´óÎÊÌâÁË¡£
¼ÆËã»úÆô¶¯£¬Éϵç×Ô¼ì¼ì²éBIOS¾Í²»ËµÁË,ËùÓÐϵͳ¶¼ÄÇÑù¡£
ÏÂÃæ¾ÍÊÇLINUXµÄÆô¶¯Á÷³Ì£º
£±¡¢Ó²¼þ¶ÁÈ¡Òýµ¼ÉÈÇø
£²¡¢¼ÓÔØLILO»òÕßGrub£¨Ò»°ãÎÒÃÇʹÓõÄÊÇGRUB£¬Õâ¸öÊÇÖØµã£©
£³¡¢¼ÓÔØÄںˣ¨Ò ......
×î½üÓÖ¿ªÊ¼¿´CarmerµÄÇý¶¯ÁË£¬ÔÚLinuxÏÂͨ³£ÊµÓÃVideo4linux¿ò¼ÜÀ´ÊµÏÖVideo capture/Camera CaptureµÈ¹¦ÄÜ£¬ÏÈ˵һÏÂÉ豸ע²á²¿·Ö£¬ov7670.cÖУ¬×¢²á·½·¨ÈçÏ£º
static struct v4l2_i2c_driver_data v4l2_i2c_data = {
.name = "ov7670",
&nb ......
£¨1£©¸ÅÊö
Executable and linking format(ELF)ÎļþÊÇx86 LinuxϵͳϵÄÒ»ÖÖ³£ÓÃÄ¿±êÎļþ(object file)¸ñʽ£¬ELFÎļþ¸ñʽ±È½Ï¸´ÔÓ£¬±¾ÎÄÖ»ÊǼòÒª½éÉÜËüµÄ½á¹¹¡£ÓÐÈýÖÖÖ÷ÒªÀàÐÍ£º
(1)ÊÊÓÚÁ¬½ÓµÄ¿ÉÖØ¶¨Î»Îļþ(relocatable file)£¬¿ÉÓëÆäËüÄ¿±êÎļþÒ»Æð´´½¨¿ÉÖ´ÐÐÎļþºÍ¹²ÏíÄ¿±êÎļþ¡£
(2) ......
MACµØÖ·ÎªÍø¿¨µÄÎïÀíµØÖ·£¬ÔÚWindowsϵͳÏ·dz£ÈÝÒ×Ð޸ģ¬ÔÚlinuxģʽÏÂÔòÓÐЩ¸´ÔÓ£¬ ÎÒÃÇ¿´¿´VMwareÐéÄâ»úÖÐÐÞ¸ÄLinux MACµØÖ·µÄ·½·¨
·½·¨Ò»£º
Õâ¸ö·½·¨×îÖ±½Ó¼òµ¥ÓÐЧ£¬ÐÞ¸ÄLinuxϵͳÀïÏà¹Ørc.localÎļþMACÖµ¼´¿É¡£
·½·¨¶þ£º
ÐÞ¸ÄÐéÄâ»úµÄ*.vmxÎļþ,ÕâÖÖ·½·¨×îÖµµÃÍÆ¼ö£¬ÒòΪÕâÑù¾ÍÀàËÆÓÚÖØÐ“ÉÕ¼”ÁËVMw ......
# uname -a
Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux
(²é¿´µ±Ç°²Ù×÷ϵͳÄÚºËÐÅÏ¢)
# cat /etc/issue | grep Linux
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
(²é¿´µ±Ç°²Ù×÷ϵͳ·¢ÐаæÐÅÏ¢)
# cat /proc/cpuinfo | grep name | cut -f2 -d: ......