Ò»ÖÖ¶¨Î»ÄÚ´æÐ¹Â¶µÄ·½·¨£¨Linux£©
Ä¿µÄ£º
±¾ÎÄÊÇ¡¶Ò»ÖÖ¶¨Î»ÄÚ´æÐ¹Â¶µÄ·½·¨£¨Solaris£©¡·¶ÔÓ¦µÄLinux°æ±¾£¬µ÷ÊÔÆ÷ʹÓÃgdb¡£Ö÷Òª½éÉÜʵÀý²¿·Ö¡£ÆäËûÇë¼û¡¶Ò»ÖÖ¶¨Î»ÄÚ´æÐ¹Â¶µÄ·½·¨£¨Solaris£©¡·¡£
ʵÀý£º
Ä£Äânewʧ°ÜµÄ³ÌÐò£º
#include <stdexcept>
class ABC
{
public:
virtual ~ABC(){}
int i;
int j;
};
void f()
{
for (int i = 0; i < 1000; ++i)
{
ABC* p = new ABC;
}
throw std::bad_alloc();
}
int main()
{
f();
return 0;
}
1£© ±àÒëÔËÐд˶δúÂë¡£²úÉúÒ»¸öcoreÎļþ
2£© ÓÃgdb´ò¿ªÕâ¸öcoreÎļþ£º
gdb a.out core
(gdb) run
Starting program: /test/new_fail/a.out
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Program received signal SIGABRT, Aborted.
0x00007ffff733f645 in raise () from /lib64/libc.so.6
(gdb) info proc
process 10683
cmdline = '/test/new_fail/a.out'
cwd = '/test/new_fail'
exe = '/test/new_fail/a.out'
(gdb) shell pmap 10683
10683: a.out
START SIZE RSS PSS DIRTY SWAP PERM MAPPING
0000000000400000 4K 4K 4K 0K 0K r-xp /test/new_fail/a.out
0000000000600000 4K 4K 4K 4K 0K r--
Ïà¹ØÎĵµ£º
linuxĿ¼¼Ü¹¹
/ ¸ùĿ¼
/bin ³£ÓõÄÃüÁî binary file µÄÄ¿錄
/boot ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ (kernel) ÔÚÄÚ
/boot/grub/menu.lst &n ......
ʹÓÃdfºÍduÃüÁîÀ´¼à¿ØÎļþϵͳµÄÓÐЧ¿Õ¼äµÄ´óС
ͨ¹ýÇå³ý²»ÓõÄÎļþºÍcoreÎļþÀ´ÇåÀíÎļþϵͳ¿Õ¼ä
ͨ¹ýÐÞ¼ôÈÕÖ¾ÎļþÀ´ÇåÀí/varÎļþϵͳ
´ÓÃüÁîÐÐÀ©Õ¹Ò»¸ö¾í×é
´ÓÃüÁîÐÐÀ©Õ¹Ò»¸öÂß¼¾í
´ÓÃüÁîÐÐÀ©Õ¹Ò»¸öÎļþϵͳ
1.¼à¿Ø´ÅÅÌʹÓÃÇé¿ö
ʹÓÃdf ÃüÁî¼ì²éÎļþϵͳµÄÓÐЧ¿Õ¼ä¡£
# df -k
Filesystem kbytes used avai ......
Àí½â
Linux
µ÷ÓŲÎÊý
ÔÚÎÒÃǽéÉÜ
Linux
ϵͳµÄ¸÷ÖÖµ÷ÓŲÎÊýºÍÐÔÄÜ
¼à²â¹¤¾ß֮ǰ£¬ÐèÒªÏÈÌÖÂÛһЩ¹ØÓÚÐÔÄܵ÷ÓŵIJÎÊý¡£ÒòΪ
Linux
ÊÇÒ»¸ö¿ªÔ´²Ù×÷ϵͳ£¬ËùÒÔÓÖ´óÁ¿¿ÉÓõÄÐÔÄܼà²â¹¤¾ß¡£¶ÔÕâЩ¹¤¾ßµÄÑ¡ÔñÈ¡¾öÓÚÄãµÄ¸öÈËϲºÃºÍ¶ÔÊý¾Ý
ϸ½ÚµÄÒªÇó¡£ËùÓеÄÐÔÄܼà²â¹¤¾ß¶¼Êǰ´ÕÕͬÑùµÄ¹æÔòÀ´¹¤×÷µÄ£¬ËùÒÔÎÞÂÛÄãʹÓÃÄÄÖÖ¼ ......
ת×Ô£ºhttp://www.yayu.org/look.php?id=162
µ±´ÅÅÌ´óС³¬¹ý±ê׼ʱ»áÓб¨¾¯Ìáʾ£¬ÕâʱÈç¹ûÕÆÎÕdfºÍduÃüÁîÊǷdz£Ã÷ÖǵÄÑ¡Ôñ¡£
df¿ÉÒԲ鿴һ¼¶Îļþ¼Ð´óС¡¢Ê¹ÓñÈÀý¡¢µµ°¸ÏµÍ³¼°Æä¹ÒÈëµã£¬µ«¶ÔÎļþÈ´ÎÞÄÜΪÁ¦¡£
du¿ÉÒԲ鿴Îļþ¼°Îļþ¼ÐµÄ´óС¡£
Á½ÕßÅäºÏʹÓã ......