ezylinux
ลินุกซ์ง่ายนิดเดียว

12
Jul

โดยทั่วไปแล้ว daemon เป็นการทำงานในรูปแบบ background process การสั่งให้ deamond ทำงานสามารถทำได้โดยใช้ service command หรือ ใช้ init script การเปิดใช้งาน core dump (ดูรายละเอียดของ core dump ได้ที่ Core dump file) เพื่อใช้งานการ debug ของโปรแกรมหรือตามความต้องการเพื่อตรวจสอบข้อผิดพลาดของโปรแกรม
continue

Tags: Core Dump, Core file
Category : System | Blog
27
May

Core dump อีกแล้ว!! คำพูดนี้เกิดขึ้นหลังจากที่เพื่อนคนหนึ่งได้โทรมาถามปัญหาเรื่องการใช้ rpm เสร็จ ตอนแรกก็งงๆ core dump คือไรหว่า มันขึ้น error ตรงไหน แล้วรู้ได้ไง ผมเลยลองค้นๆดูปรากฏว่าปัญหานี้เราเคยเจอแล้วนี้ เจอที่ blog ของเราเองด้วย แต่ตอนนั้นไม่ได้หาสาเหตุว่าเกิดจากอะไรกันแน่เพราะว่าไม่มีสิทธิแก้ไขอะไรมาก เพราะเราเช่าโฮสทฺ์เค้าไม่ใช่ของเราเอง

หลังจากลองดูรายละเอียดแล้วก็พบว่า การเกิด core dump ได้นั้นสาเหตุหลักๆคือ การทำงานผิดพลาดของโปรแกรม (program crash) หรือ อีกสาเหตุเกิดจากการที่ program พยายาม access memory ในส่วนที่ไม่ได้รับอนุญาต จึงทำให้ OS สั่งปิดโปรแกรม (Kill process) นั้นซะ จากเหตุการณ์ทั้งสอง OS ก็ได้สร้าง Core dump file ขึ้นมาเพื่อช่วยให้เหล่า programmer ทั้งหลายพบจุดผิดพลาดของโปรแกรม หรือ ช่วยในการ debug โปรแกรมนั้นเอง

ลักษณะของ core file นั้นสามารถสังเกตุได้ว่าำไฟล์จะชื่อขึ้นต้นด้วยคำว่า core และตามด้วยจุดกับตัวเลข (ซึ่งก็คือ PID) เช่น core.20 เป็นต้น

เรามาดูกันว่าเราจะจัดการเจ้า core file ได้อย่างไรบ้างกันดีกว่า

ถ้าต้องการปิดไม่ให้มีการสร้าง core file ขึ้นมาให้ใช้คำสั่ง

#ulimit -S -c 0 > /dev/null 2>&1

ถ้าต้องการเปิดให้มีการเขียน core file ได้ให้ใช้คำสั่ง

#ulimit -S -c 25000 > /dev/null 2>&1 //กำหนดให้ core file มีขนาดเท่ากับ 25,000 byte
#ulimit -S -c unlimited > /dev/null 2>&1 //กำหนดให้ core file มีขนาดไม่จำกัด

-c คือขนาดสูงสุดของ core file

หรือถ้าต้องการให้ใช้งานตลอดไปให้แก้ไขไฟล์ /etc/profile แล้วเพิ่มคำสั่งข้างต้นลงไป
continue

Tags: Core Dump, Core file
Category : System | Troubleshooting | Blog