รวมคำสั่ง Linux ตัวท็อปที่มักถูกถามหรือต้องใช้ตอบในบทสนทนาสัมภาษณ์รอบ Role-Related Knowledge (RRK) ฝั่ง OS / Hardware / System Performance โดยจัดหมวดหมู่ตาม USE Method (Utilization, Saturation, Errors) เพื่อให้ตอบได้อย่างเป็นระบบ
1. Hardware Inventory & Physical Components (ตรวจเช็กสเปกและสุขภาพฮาร์ดแวร์)
ใช้เมื่อกรรมการถามว่า “จะตรวจสอบสเปก CPU, RAM, Disk, PCI Card บนเครื่องอย่างไรโดยไม่ต้องเปิดฝาเครื่อง?”
lshw -short: สรุปรายการฮาร์ดแวร์ทั้งหมดของเครื่องแบบสั้น (CPU, RAM, Motherboard, NIC, Disk)lscpu: ดูข้อมูล CPU อย่างละเอียด (Architecture, Cores, Sockets, Threads per core, L1/L2/L3 Cache)free -h: ดูภาพรวม Physical RAM และ Swap (เน้นดูช่องavailableเป็นหลัก)dmidecode -t memory: ส่องดู Slot แรมจริงของ Motherboard (ดูขนาดแต่ละช่อง, ชนิด DDR, Bus Speed, Serial Number)lspci -tv: แสดงอุปกรณ์ที่เชื่อมต่อผ่าน PCIe ทั้งหมดในรูปแบบ Tree (เช่น ดูการ์ดแลน 10GbE/100GbE, RAID Controller, GPU)lsblk -f: ดูโครงสร้าง Block Devices (Disks, Partitions, LVM, UUID, Filesystem Type)
2. Disk Health, I/O Bottlenecks & Storage (ดิสก์และระบบไฟล์)
ใช้ตรวจอาการ “ระบบอ่านเขียนดิสก์ช้า หรือเกิด I/O Wait สูง”
iostat -xz 1: ดูประสิทธิภาพของดิสก์รายตัวแบบ Real-time- จุดสังเกต: ดูค่า
%util(ถ้าปริ่ม 100% คือดิสก์ทำงานเต็มขีดจำกัด) และค่าawait(เวลาเฉลี่ยที่ I/O ติดคิวรอ ยิ่งสูงยิ่งช้า)
- จุดสังเกต: ดูค่า
smartctl -a /dev/sdX: อ่านค่า SMART Data จาก Hard Drive / SSD เพื่อดูว่ามี Bad Sector, Reallocated Sectors หรือดิสก์ใกล้พังหรือไม่df -hและdf -i: เช็กพื้นที่ความจุ (Disk Space) และเช็กจำนวนตารางเก็บข้อมูล (Inode Usage)lsof +D /path/to/mount: ดูว่า Process ใดกำลังเปิดค้างหรือล็อกไฟล์ใน Partition นั้นอยู่ (มักใช้แก้ปัญหา Unmount ไม่ได้ หรือไฟล์ถูกลบไปแล้วแต่dfพื้นที่ไม่คืน)
3. CPU Performance & Process Profiling (คอขวดของซีพียูและโปรเซส)
ใช้เมื่อ “CPU สูงผิดปกติ หรือต้องการดู Thread ค้าง”
top/htop: ดูภาพรวม System Load, CPU state (%us,%sy,%wa,%si) และเรียงลำดับ Process ตามการใช้ทรัพยากรpidstat 1(หรือpidstat -d 1) : แยกดูการใช้ CPU และ Disk I/O เจาะจงราย Process แบบวินาทีต่อวินาที (ดีกว่า top เวลาต้องการจับตาดู App ตัวใดตัวหนึ่ง)uptime: เช็ก Uptime และ Load Average (1, 5, 15 นาที) เพื่อเทียบกับจำนวน Core ในnprocps aux --sort=-%cpu | head -n 10: ดึง 10 อันดับ Process ที่กิน CPU สูงสุดในทันที
4. Kernel Signals, Crashes & System Calls (ลึกระดับเคอร์เนล)
ใช้เมื่อ “ระบบค้างโดยไม่ทราบสาเหตุ, มีการ Crash หรือต้องการแกะรอย System Call”
dmesg -T | grep -iE 'error|warn|oom|segfault': ดู Log บันทึกเหตุการณ์ระดับ Hardware & Kernel พร้อมประทับเวลาที่อ่านเข้าใจได้ (ใช้หาเหตุการณ์ OOM Killer ยิงโปรเซสตาย หรืออุปกรณ์หลุด)strace -p <PID> -f: ดักส่อง System Call ของ Process แบบสดๆ เพื่อดูว่าโปรเซสนั้นค้างอยู่ที่คำสั่ง System Call ตัวไหน (เช่น ค้างที่read()รอ Socket หรือรอ Lock)lsof -p <PID>: ลิสต์รายการ Files, Network Sockets, และ Shared Libraries ทั้งหมดที่โปรเซสนั้นเปิดถือครองอยู่ (ใช้หา File Descriptor Leak)vmstat 1: ดูภาพรวมทั้งระบบ (Processes ค้างใน Run-queuer, Blockedb, Swap In/Outsi/so, Context Switchescs)
5. Network Hardware & Driver Level (การ์ดแลนและไดรเวอร์)
ใช้เมื่อเกิดปัญหา “Dropped Packets หรือ Interface คอขวด”
ethtool eth0: ตรวจสอบ Speed (1G/10G/25G), Duplex (Full/Half), Auto-negotiation และ Link Detected ของการ์ดแลนethtool -S eth0: ดูสถิติเชิงลึกของการ์ดแลนระดับ Hardware (เช่น ดูค่าrx_dropped,rx_crc_errors,rx_ring_buffer_overflow)ip -s link show eth0: ดูสถิติภาพรวมของ Network Interface (TX/RX packets, errors, dropped)ss -tulpn: ตรวจสอบพอร์ตที่เปิด Listening และโปรเซสที่เป็นเจ้าของ (มาแทนที่netstat)
ตารางสรุป 4 ตัวเก็งที่มักนำไปใช้ตอบแบบ “One-liner”
| สถานการณ์ที่กรรมการถาม | คำสั่งที่ดีที่สุดในการตอบ |
| เช็กว่าดิสก์กำลังติดคอขวดที่ I/O หรือไม่ | iostat -xz 1 (ดู %util และ await) |
| เช็กว่าเครื่องเคยเกิด Out of Memory (OOM) หรือไม่ | dmesg -T | grep -i oom |
| ตรวจสอบ Link Speed และ Ring Buffer ของการ์ดแลน | ethtool eth0 และ ethtool -S eth0 |
| หา Process ที่กำลังเปิดไฟล์ค้างจนลบ Partition ไม่ได้ | lsof +D /mountpoint |