[ת] LinuxÏÂcoreÎļþµ÷ÊÔ·½·¨
ת×Ô£º http://xiezuoming.javaeye.com/blog/411915
ÔÚ³ÌÐò²»Ñ°³£Í˳öʱ£¬Äں˻áÔÚµ±Ç°¹¤×÷Ŀ¼ÏÂÉú³ÉÒ»¸öcoreÎļþ£¨ÊÇÒ»¸öÄÚ´æÓ³Ïñ£¬Í¬Ê±¼ÓÉϵ÷ÊÔÐÅÏ¢£©¡£Ê¹ÓÃgdbÀ´²é¿´coreÎļþ£¬¿ÉÒÔָʾ³öµ¼Ö³ÌÐò³ö´íµÄ´úÂëËùÔÚÎļþºÍÐÐÊý¡£
1.coreÎļþµÄÉú³É¿ª¹ØºÍ´óСÏÞÖÆ
---------------------------------
1£©Ê¹ÓÃulimit -cÃüÁî¿É²é¿´coreÎļþµÄÉú³É¿ª¹Ø¡£Èô½á¹ûΪ0£¬Ôò±íʾ¹Ø±ÕÁ˴˹¦ÄÜ£¬²»»áÉú³ÉcoreÎļþ¡£
2£©Ê¹ÓÃulimit -c filesizeÃüÁ¿ÉÒÔÏÞÖÆcoreÎļþµÄ´óС£¨filesizeµÄµ¥Î»Îªkbyte£©¡£Èôulimit
-c
unlimited£¬Ôò±íʾcoreÎļþµÄ´óС²»ÊÜÏÞÖÆ¡£Èç¹ûÉú³ÉµÄÐÅÏ¢³¬¹ý´Ë´óС£¬½«»á±»²Ã¼ô£¬×îÖÕÉú³ÉÒ»¸ö²»ÍêÕûµÄcoreÎļþ¡£ÔÚµ÷ÊÔ´ËcoreÎÄ
¼þµÄʱºò£¬gdb»áÌáʾ´íÎó¡£
2.coreÎļþµÄÃû³ÆºÍÉú³É·¾¶
----------------------------
coreÎļþÉú³É·¾¶:
ÊäÈë¿ÉÖ´ÐÐÎļþÔËÐÐÃüÁîµÄͬһ·¾¶Ï¡£
ÈôϵͳÉú³ÉµÄcoreÎļþ²»´øÆäËüÈκÎÀ©Õ¹Ãû³Æ£¬ÔòÈ«²¿ÃüÃûΪcore¡£ÐµÄcoreÎļþÉú³É½«¸²¸ÇÔÀ´µÄcoreÎļþ¡£
1£©/proc/sys/kernel/core_uses_pid¿ÉÒÔ¿ØÖÆcoreÎļþµÄÎļþÃûÖÐÊÇ·ñÌí¼Ópid×÷ΪÀ©Õ¹¡£ÎļþÄÚÈÝΪ1£¬±íʾÌí¼Ópid×÷ΪÀ©Õ¹Ãû£¬Éú³ÉµÄcoreÎļþ¸ñʽΪcore.xxxx£»Îª0Ôò±íʾÉú³ÉµÄcoreÎļþͬһÃüÃûΪcore¡£
¿Éͨ¹ýÒÔÏÂÃüÁîÐ޸ĴËÎļþ£º
echo "1" > /proc/sys/kernel/core_uses_pid
2£©proc/sys/kernel/core_pattern¿ÉÒÔ¿ØÖÆcoreÎļþ±£´æÎ»ÖúÍÎļþÃû¸ñʽ¡£
¿Éͨ¹ýÒÔÏÂÃüÁîÐ޸ĴËÎļþ£º
echo "/corefile/core-%e-%p-%t" > core_pattern£¬¿ÉÒÔ½«coreÎļþͳһÉú³Éµ½/corefileĿ¼Ï£¬²úÉúµÄÎļþÃûΪcore-ÃüÁîÃû-pid-ʱ¼ä´Á
ÒÔÏÂÊDzÎÊýÁбí:
%p - insert pid into filename Ìí¼Ópid
%u - insert current uid into filename Ìí¼Óµ±Ç°uid
%g - insert current gid into filename Ìí¼Óµ±Ç°gid
%s - insert signal that caused the coredump into the filename Ìí¼Óµ¼Ö²úÉúcoreµÄÐźÅ
%t - insert UNIX time that the coredump occurred into filename Ìí¼ÓcoreÎļþÉú³ÉʱµÄunixʱ¼ä
%h - insert hostname where the coredump happened into filename Ìí¼ÓÖ÷»úÃû
%e - insert coredumping executable name into filename Ìí¼ÓÃüÁîÃû
3.coreÎļþµÄ²é¿´
---------------
Ïà¹ØÎĵµ£º
±¾ÎÄÊÇ Unix/Linux ϵͳ¹ÜÀí×Ô¶¯»¯ÏµÁÐÖеÄһƪ£¬Ö÷Òª½²ÊöÈçºÎʵÏÖ´ÅÅÌ I/O ×Ô¶¯»¯¼à¿Ø¡£
´ÅÅÌ I/O ¼à¿ØÊÇ Unix/Linux ϵͳ¹ÜÀíÖÐÒ»¸ö·Ç³£ÖØÒªµÄ×é³É²¿·Ö¡£Ëü¿ÉÒÔ¼à¿ØÍÌÍÂÁ¿¡¢Ã¿Ãë I/O Êý¡¢´ÅÅÌÀûÓÃÂÊ¡¢·þÎñʱ¼äµÈÐÅÏ¢£¬²¢ÇÒÔÚ·¢ÏÖÒ쳣ʱ£¬·¢Ë͸澯ÐÅÏ¢¸øÏµÍ³¹ÜÀíÔ±£¬±ãÓÚϵͳ¹ÜÀíÔ±½øÐе÷ÕûÊý¾Ý²¼¾ÖµÈ¹ÜÀí»î¶¯ÒÔ´ïµ½ÓÅ»¯Ï ......
Ô´´ÎÄÕ£¬×ªÔØÇë×¢Ã÷³ö´¦£¬Ð»Ð»£¡
×÷ÕߣºÇåÁÖ£¬²©¿ÍÃû£º·É¿Õ¾²¶É
ÕâÊÇһƪ×Ô¼ººÜÔçдµÄÎÄÕÂÁË£¬µ±Ê±¸ù¾ÝÍøÉϵÄһЩ½Ì³ÌÒ»²½Ò»²½ÖÆ×÷£¬±¾À´Ïë°Ñ×Ô¼º×öµÄ¹ý³Ì·Åµ½ÍøÉÏ£¬¿ÉÒÔÎ÷һֵæÓÚ¹«Ë¾ÏîÄ¿£¬Ã»ÓÐʱ ......
ͨ¹ýddÃüÁî¿ÉÒÔ°ÑÖ¸¶¨µÄÊäÈëÎļþ¿½±´µ½Ö¸¶¨µÄÊä³öÎļþÖУ¬²¢ÇÒÔÚ¿½±´¹ý³ÌÖпÉÒÔ½øÐиñʽת»»¡£ddÃüÁîµÄʹÓþÙÀýÈçÏ£º
# dd if = /dev/had of=had.bak bs=512 count=1
ddÃüÁîµÄ¸÷²ÎÊý½âÊÍÈçÏ£º
if = file ÊäÈëÎļþÃû£»
of = file ÊäÈëÎļþÃû£»
bs = n ÉèÖÃÊäÈë¡¢Êä³ö¿éµÄ´óСΪn×Ö½Ú£»
count = blocks Ö»¿½±´ÊäÈëµÄ ......
Õâ¸ö·½¿éÓÎÏ·ÊÇÓÃlinuxÖն˵Ĺâ±ê¿ØÖÆ¡¢ÑÕÉ«ÉèÖÃ×öµÄ
(ÌíÁ˸ö¹¦ÄÜ£¬×ÖĸPÔÝÍ£¡¢»Ö¸´ÓÎÏ·)
Óà A S D W ¿ØÖÆÒƶ¯¡¢×ªÏò£¬¿Õ¸ñ¼üÏÂ×¹µ½µ×£»
linuxµÄÒì²½aioº¯Êý½â¾öÁ˺ܶàÂé·³£»
ÓÃÁ˸ö¼òµ¥µÄÄ£°åµ¥Àýģʽ£¬¼Ì³ÐËü¾Í¿ÉÒÔ£»
¶ÔPOSIXÏ̼߳òµ¥·â×°³ÉjavaÏ߳̽ӿڣ»
#include <memory>
#include "Tetris.h"
#include ......
14£©Mice Êó±ê
¡¡¡¡¸ù¾Ý×Ô¼ºµÄÊó±êÀàÐÍÑ¡Ôñ¡£
¡¡¡¡15£©Video for Linux LinuxÊÓÆµ
¡¡¡¡¸ù¾ÝϵͳÖеÄÒô/ÊÓÆµ²¶×½É豸ѡÔñ¡£
¡¡¡¡16£©Joystick support ²Ù×ݸË
¡¡¡¡¸ù¾ÝϵͳÖеÄÓÎÏ·¸ËÉ豸ѡÔñ
¡¡¡¡17£©Ftape£¬the floopy tape device driver FtapeÉ豸Çý¶¯
¡¡¡¡Ftape £¨QIC-80/Travan ......