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

Troubleshooting

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
5
May

เราสามารถทำการ free memory ได้แบบ on demand โดยใช้คำสั่งง่ายๆ ซึ่งวิธีการนี้จะเป็นการ clear memory ในส่วนของ pagecache และ slabcache ในระบบ linux

วิธีการก็คือ ใส่ค่า 1 สำหรับ free pagecache, 2 สำหรับ free dentries และ inodes หรือ 3 สำหรับ free pagecache, dentries และ inodes เข้าไปยังไฟล์ /proc/sys/vm/drop_caches นั้นเอง

ตัวอย่างการ free momory หรือ clear momery

คำสั่งสำหรับ free pagecache:
# echo 1 > /proc/sys/vm/drop_caches

คำสั่งสำหรับ free dentries และ inodes:
# echo 2 > /proc/sys/vm/drop_caches

คำสั่งสำหรับ free pagecache, dentries และ inodes:
# echo 3 > /proc/sys/vm/drop_caches

คำแนะนำ: ถ้าทำการ free memory ในขณะที่ server กำลังใช้งาน memory และ I/O อย่างหนักอาจจะทำให้เกิด deadlock ได้

Tags: clear memory, free momory, pagecache, slabcache
Category : System | Troubleshooting | Blog
3
Feb

ปัญหาการเคลื่อนที่ของ Mouse บน virtual machine ใน Linux มีความผิดเพี้ยนไปจากความเป็นจริงนี้เราสามารถแก้ไขปัญหานี้ได้ด้วยกัน 2 วิธี คือ

  1. ย้ายการใช้งานจาก VNC console ไปเป็น SDL console แต่การทำงาน SDL console บนโปรแกรม virt-manager ไม่ค่อย work เนื่องจากว่าถ้าเราปิด SDL console ระบบจะทำการปิด virtual machine ไปด้วย -*-
  2. แก้ไข config จาก virtual mouse ไปเป็น virtual tablet ซึ่งวิธีการจะพูดถึงในบทความนี้

การแก้ไขผ่านทาง GUI Mode

  1. เปิดโปรแกรม Virtual Machine Manager (virt-manager) และถ้ามี virtual machine รันอยู่ให้ shutdown virtual machine นั้นไปก่อน
  2. ในโปรแกรม virt-manager ให้คลิกที่ details ในส่วนของ hardware tab
  3. คลิก add เพื่อเพิ่ม hardware เข้าไปใหม่ โดยเลือกที่ Input Device คลิก Forward
  4. เลือก EvTouch USB Graphics Tablet คลิก Forward
  5. คลิก Finish continue
Tags: mouse tracking, Virtual Machine Manager
Category : Troubleshooting | Virtualization | Blog
4
Oct

เคยไหมเวลาเราติดตั้ง red hat enterprise แล้วเกิดอาการ boot ค้างหรือ hang หลังจากที่ระบบทำการ boot ครั้งแรก หรือที่เรียกว่า “first boot” ในบ้างครั้งอาจเกิดจาก bug ของ Advanced Power Management (APM) เจ้าตัว APM จะต้องใีการติดต่อการ BIOS ของระบบ ถ้าระบบไม่ support ก็จะทำให้เกิดอาการ hang ขึ้นมาได้ วิธีการสังเกตว่าเกิดจากสาเหตุนี้หรือไม่ให้ลองดูว่าระบบเกิดอาการ hang ก่อนก่อนที่จะทำการโหลด services ทั้งหมดของระบบหรือไม่ ถ้าใช้ให้สันนิฐานว่าอาจเกิดจากสาเหตุนี้ก็ได้

การแก้ปัญหาจากสาเหตุนี้คือ ให้เซ็ตค่า apm=off

continue

Tags: Advanced Power Management, APM, first boot, hang
Category : Troubleshooting | Blog
11
Aug

เมื่อเราได้ทำการแก้ไขหรือ configure diskdump แล้ว restart diskdump service ได้มี error เกิดขึ้นที่ /var/log/messages โดยมีข้อความดังข้างล่าง

diskdump: diskdumpctl: failed to add /dev/hdb!
diskdump: activating failed
kernel: disk_dump: shut down

ในปัญหาข้างต้นเกิดจาก Linux ที่ใช้อยู่ไม่ support full hard disk dump partition ดังนั้นวิธีแก้ไขสามารถทำได้โดยสร้าง partition ใน Hard disk และ ใช้ partition นั้นสำหรับการ dump memory information.

Tags: diskdump, diskdump service, Hard disk, partition, restart
Category : System | Troubleshooting | Blog
10
Aug

เมื่อเกิด error ของ LVM โดยขึ้นข้อความว่า “LVM error VG meta data inconsistent” เราสามารถทำการแก้ไขโดยทำตามขั้นตอนดังข้างล่างนี้ได้

Boot เข้าสู่โหมด Rescue

Restore VG Meta data โดยใช้คำสั่ง:
#lvm vgcfgrestore VG

Rescan physical devices โดยใช้คำสั่ง:
#lvm pvscan

Rescan vol groups โดยใช้คำสั่ง:
#lvm vgscan

ขั้นสุดท้ายคือการ active volume group โดยใช้คำสั่ง:
#lvm vgchange -ay VG

Tags: Fix error, Fix error LVM, LVM, LVM error VG meta data inconsistent
Category : HDD Management | Troubleshooting | Blog
6
Mar

ปัญหาที่ทำให้ RedHat 5 และ RedHat 5.1 เกิดอาการแฮงค์ในขั้นตอนสุดท้ายของการ Reboot หรือ Shutdown นั้นเกิดจาก bug ในโปรแกรม cpufreq ซึ่งมันจะเกิด deadlock เมื่อตอนที่จะ unload module ของโปรแกรมนี้ จึงทำให้เกิดการ Reboot หรือ Shutdown ที่ช้ามากๆจนทำให้ user นึกว่าเครื่องได้แฮงค์ไปแล้ว ปัญหาเหล่านี้ได้ถูกแก้ไขแล้วใน RedHat 5.2 และสำหรับวิธีแก้ไขปัญหานี้ใน RedHat 5 และ RedHat 5.1 สามารถทำได้ 2 วิธีด้วยกันคือ

1. ให้ทำการ Update Kernel เป็นเวอร์ชั่นของ RedHat 5.2

2. ทำการ Disable โปรแกรม cpuspeed ซะ ตามคำสั่งด้านล่างนี้

# chkconfig cpuspeed off

# service cpuspeed stop

สำหรับข้อเสียของวิธีที่ 2. นี้จะทำให้ระบบไม่สามารถใช้พลังงานได้เต็มประสิทธิภาพ หรือมันจะกินไฟมากกว่าระบบที่เปิดใช้งาน cpuspeed นั้นเอง :)

Tags: Reboot, RedHat 5, RedHat 5.1, Shutdown, แฮงค์
Category : System | Troubleshooting | Blog
5
Mar

เมื่อได้ทำการติดตั้งลินุกซ์เพื่อทำ Virtualization และได้ลงลินุกซ์แบบ Fully-virtualized เป็น guest os ในระบบ Virtualization นั้นๆ และเมื่อใช้งานตัว linux guest os เกิดการ hang ขึ้นบ่อยครั้ง หรือมีการใช้ cpu ที่สูงมาก

วิธีแก้ไขเบื้องต้นสามารถทำได้ดังนี้

ตรวจสอบว่า linux guest os นี้ได้รัน kernel version อะไรอยู่โดยใช้คำสั่ง

#uname -r

ถ้าผลลัพธ์ที่แสดงออกมาเป็นประมาณ 2.6.18-8.el5xen แสดงว่าเราได้ทำการติดตั้ง kernel ผิด version ดังนั้นให้ Install kernel แบบปกติเข้าไปแทน หรือไม่ก็ลง linux ใหม่ แล้วไม่ต้องเลือก virtualization

Tags: linux, Virtualization, xen
Category : Troubleshooting | Virtualization | Blog