Red Hat 4, 5 take a very long time to boot and iostat output incorrect
ปัญหาการบูตเครื่องนานหรือว่าใช้คำสั่ง iostat แล้วค่าที่แสดงผลออกมาไม่ตรงกับความเป็นจริง เช่น แสดงค่า CPU utilization มากถึง 200% หรือว่าเครื่องบูตนานมากกว่า 2 ชั่วโมง โดยทั่วไปแล้วจะเกิดกับสถาปัตยกรรม x86 หรือ x86_64
ปัญหาดังกล่าวอาจเกิดจากเวลาที่ local timer (LOC) กับเวลารวมของแต่ละ CPU global timer มีค่าไม่เท่ากัน ซึ่งโดยปกติแล้วจะมีค่าแตกต่างกันไม่เกิน 1%
วิธีการตรวจสอบ คือให้ใช้คำสั่ง cat ดูค่าที่ไฟล์ /proc/interrupts ดังตัวอย่าง
[root@Ezylinux ~]# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 1491834732(A) 0(B) 0 0 IO-APIC-edge timer
1: 3 0 0 0 IO-APIC-edge i8042
8: 1 0 0 0 IO-APIC-edge rtc
9: 0 0 0 0 IO-APIC-level acpi
12: 4 0 0 0 IO-APIC-edge i8042
:
:
82: 1364986583 0 0 0 PCI-MSI eth0
169: 13159051 59894890 1639030 0 IO-APIC-level megasas
NMI: 642011 564910 656217 672338
LOC: 1491834473(C) 1491834401 1491834329 1491834256
ERR: 0
MIS: 0
(A) + (B) = 1491834732
ปกติแล้ว (A)+(B) ควรที่จะมีค่าแตกต่างจาก (C) ไม่เกิน 1%
ปัญหาดังกล่าวสำหรับ REHEL 4 ไม่มีการแก้ไข แต่สำหรับ RHEL 5 กำลังทำการแก้ไขอยู่ครับ
ขอบคุณ RedHat.com สำหรับข้อมูลครับ