ถ้าเรารัน Asterisk ด้วยออปชั่น -g เวลามีปัญหาเกิดขึ้นกับ Asterisk เป็นต้นว่ามีอะไรบางอย่างทำให้มันเกิด Crash ขึ้นมา (ถึงมันจะ Crash แต่มันก็ทำงานต่อได้ แปลกดี) มันจะเอาข้อมูลทั้งหมดที่เกิดขึ้นใน Session ที่ทำให้มัน Crash ไปไว้ในไดเร็คตอรี่ /tmp แบบนี้ครับ
-rw------- 1 asterisk asterisk 7168000 Mar 8 23:17 core.22697
ไฟล์ขึ้นต้นด้วย Core. ตามด้วยตัวเลข ขนาดเท่ากันเป๊ะๆ ถ้ามีมากๆก็จะทำให้ Harddisk เต็มได้ และ Asterisk ก็จะไม่ทำงาน (รันอยู่ก็จริงแต่ไม่รับ service) ถ้ายังแก้ปัญหาไม่ได้ และ Asterisk ก็ยังทำงานได้อยู่ ผมว่าปิดไม่ให้มันสร้าง dump core file จะดีกว่า โดยรันแบบไม่ให้มี -g ครับ
ในไฟล์ /usr/sbin/safe_asterisk มองหาบรรทัด
ASTARGS="${ASTARGS} -vvvg"
เอา g ออกครับ แล้วรีสตาร์ทใหม่ จะด้วยคำสั่ง service asterisk restart หรือว่า amportal restart (ถ้าใช้ Elastix/FreePBX)
ผมเคยเจอกับ Asterisk 1.4.22 ครับ ไม่กล้าอัพเกรดเพราะว่ามันเป็น Elastix แล้วเขาก็ใช้งานอยู่อย่างปกติสุข ยกเว้นปัญหาจาก Core Files ไรนี่ เอา "-g" ออก คราวนี้ไม่กลัวแล้วครับ
ผมว่าไฟล์ Core จู่ๆมัน Asterisk คงไม่ได้สร้างขึ้นมาเองโดยพละการ น่าจะเกิดจากการที่ Asterisk รัน App อะไรบางตัว (โดยเฉพาะที่เราเขียนขึ้นมาเอง) แล้วเกิดผิดพลาด (เพราะเราเขียน App ผิดพลาด) มันก็เลยสร้าง Core Files ขึ้นมาประจาน...