เอกสารนี้สรุปคำสั่ง Linux Command Line Interface (CLI) ทั้งหมดที่ถูกระบุและอ้างอิงถึงในเอกสารคู่มือเตรียมสอบ Google L2 Data Center (OS & Hardware) โดยจำแนกตามวัตถุประสงค์หลัก 4 ด้าน ได้แก่: การตรวจสอบ CPU, หน่วยความจำ (RAM), พื้นที่เก็บข้อมูล (Storage & File Systems) และระบบเครือข่าย (Network)
1. 🖥️ หมวดการตรวจสอบ CPU (CPU Inspection)
คำสั่งในหมวดนี้ใช้สำหรับตรวจสอบข้อมูลทางกายภาพของสถาปัตยกรรม CPU, ประสิทธิภาพการประมวลผล, ภาระงานของระบบ (Load Average) และสถิติในระดับเคอร์เนล/ฮาร์ดแวร์
| คำสั่ง (Command) | วัตถุประสงค์หลัก | คำอธิบายและรายละเอียดการใช้งานที่สำคัญ | พารามิเตอร์ / ตัวอย่างการใช้ | แหล่งอ้างอิง |
|---|---|---|---|---|
lscpu | ดูสเปก CPU | แสดงข้อมูลสรุปสถาปัตยกรรมของ CPU, จำนวน Core, Socket, ขนาด Cache L1/L2/L3 และรายละเอียดการจัดแบ่ง NUMA Node | lscpu | [1, 123] |
uptime | เช็ก Load Average | แสดงระยะเวลาที่เซิร์ฟเวอร์เปิดใช้งาน (Uptime) และสถิติ Load Average ย้อนหลังในช่วง 1, 5, และ 15 นาที เพื่อตรวจหา CPU Saturation | uptime | [2, 77, 80] |
top | ตรวจสอบประสิทธิภาพภาพรวม | ติดตามและรายงานสถิติการใช้งาน CPU ของโปรเซสต่าง ๆ และภาพรวมระบบแบบ Real-time (เช่น ค่า %us, %sy, %wa, %id) | top | [2, 15, 92, 94] |
htop | ตรวจสอบประสิทธิภาพ (แบบกราฟิก) | หน้าจอติดตามทรัพยากรระบบแบบ Real-time ที่แสดงผลด้วยสีสันสดใส และรองรับการสั่งงานเชิงโต้ตอบที่สะดวกกว่า top ดั้งเดิม | htop | [2] |
mpstat | มอนิเตอร์ CPU แยกคอร์ | รายงานสถิติเปอร์เซ็นต์การใช้งานของ CPU โดยสามารถระบุให้แยกแสดงผลละเอียดในแต่ละ Core (Logical CPU ID) ได้ | mpstat -P ALL 1 | [15, 84, 85] |
sar -u / -q | รายงานประวัติ CPU | แสดงข้อมูลเปอร์เซ็นต์การใช้งาน CPU สะสม ย้อนหลัง และตรวจสอบจำนวนคิวงานรอรัน (Run-queue size) ของ CPU scheduler | sar -u -q 1 | [16, 57, 58, 88] |
ps | รายงานสถานะโปรเซส | ตรวจสอบ %CPU และระยะเวลาสะสมที่โปรเซสแต่ละตัวประมวลผลบน CPU (TIME) ตั้งแต่เริ่มต้นทำงาน | ps aux หรือ ps -ef | [28, 89, 90] |
pidstat | ตรวจสอบ CPU รายโปรเซส | แสดงข้อมูลการใช้ CPU เจาะลึกรายโปรเซส/เธรด โดยแยกแยะเป็นส่วน %user, %system (kernel) และ %guest | pidstat 1 หรือ pidstat -p ALL | [15, 74, 95] |
turbostat | ตรวจสอบสัญญาณนาฬิกาและพลังงาน | ดึงค่าจาก MSR (Model-Specific Register) เพื่อดูความถี่ MHz จริงแบบเรียลไทม์, ปริมาณพลังงาน (Watt), อุณหภูมิ และสถานะ C-state | turbostat | [75, 99, 101] |
showboost | เช็กสถานะ Turbo Boost | แสดงระดับความถี่จริงที่ CPU ทำงานเปรียบเทียบกับความถี่ฐาน เพื่อวิเคราะห์การเพิ่มความเร็วด้วยระบบ Intel Turbo Boost | showboost | [75, 102] |
pmcarch | วิเคราะห์รอบสัญญานนาฬิกา | ตรวจสอบประสิทธิภาพฮาร์ดแวร์สะสมเชิงสถิติ เช่น Instructions Per Cycle (IPC) เพื่อตรวจหาภาวะ Stall ของหน่วยประมวลผล | pmcarch | [75, 104, 105] |
tlbstat | วิเคราะห์ TLB Cache | รายงานค่าสถิติและความล้มเหลวของการดึงข้อมูลหน่วยความจำผ่านดัชนีชี้ตำแหน่งแคชของ TLB (Translation Lookaside Buffer) | tlbstat -C0 1 | [75, 107] |
perf | โปรไฟล์ประสิทธิภาพระบบระดับลึก | คอลเลกชันเครื่องมือระดับโปรเฟสชันนัลสำหรับทำ CPU profiling, สุ่มตรวจรอบสัญญาน PMC และรายงานโค้ดพาธสะสมของแอปพลิเคชัน | perf stat / perf record | [15, 74, 75, 108] |
profile | สุ่มจับและสรุป stack traces | เครื่องมือ BPF (BCC) สำหรับจับสถิติ Stack Trace บน CPU ตามอัตราความถี่ที่กำหนด เพื่อหาจุดคอขวดของซอฟต์แวร์ | profile | [23, 75, 76] |
cpudist | สรุปเวลาการรัน On-CPU | ตรวจวัดช่วงเวลาที่โปรเซสถูกสั่งรันจริงอยู่บน CPU (On-CPU duration) แล้วสรุปผลออกมาในรูปแบบกราฟฮิสโตแกรม | cpudist | [75, 76, 462] |
runqlat | วัดความหน่วงคิว CPU | วิเคราะห์ระยะเวลาที่แต่ละโปรเซส (Task) ต้องนอนค้างรอคิวอยู่ใน Run queue ก่อนที่จะได้สิทธิ์ประมวลผลจริง | runqlat 10 1 | [23, 75, 76, 118] |
runqlen | ตรวจสอบความยาวคิว | แสดงข้อมูลจำนวนเธรดที่กำลังรอทำงานใน Run queue แบบ Real-time เพื่อประเมินความหนาแน่นและปริมาณงานล้น CPU | runqlen | [23, 75, 76] |
softirqs / hardirqs | วัดเวลาประมวลผลขัดจังหวะ | รายงานสถิติและสรุประยะเวลารันไทม์ทั้งหมดที่ระบบปฏิบัติการเสียไปในการประมวลผล Software และ Hardware Interrupts | softirqs / hardirqs | [23, 75, 76] |
time / ptime | จับเวลาการประมวลผล | จับเวลาและรายงานเวลาทั้งหมดในการรันโปรเซส โดยแยกรายละเอียดเวลาฝั่ง User space และ Kernel space (System time) | time command | [75, 76] |
dmidecode -t processor | ตรวจสอบข้อมูลฮาร์ดแวร์ CPU | ดึงค่าสเปกทางกายภาพของหน่วยประมวลผลจาก DMI/SMBIOS (เช่น ประเภท Socket, แบรนด์, และสปีดรองรับสูงสุด) | dmidecode -t processor | [1] |
2. 💾 หมวดการตรวจสอบหน่วยความจำ / แรม (Memory & RAM Inspection)
เครื่องมือในหมวดนี้ช่วยในการตรวจสอบการจัดสรรหน่วยความจำทางกายภาพ (RAM), ตรวจสอบประสิทธิภาพหน้าเพจ (Paging/Swapping), และตรวจสอบการดึงทรัพยากรระดับ Kernel Slab Cache และข้อมูลความผิดพลาดเชิงฮาร์ดแวร์
| คำสั่ง (Command) | วัตถุประสงค์หลัก | คำอธิบายและรายละเอียดการใช้งานที่สำคัญ | พารามิเตอร์ / ตัวอย่างการใช้ | แหล่งอ้างอิง |
|---|---|---|---|---|
free | เช็กแรมภาพรวมด่วน | แสดงหน่วยความจำ RAM และ Swap ทั้งหมดในระบบ โดยแจกแจงเป็นส่วนที่ใช้อยู่, ว่างจริง, และส่วนของ File System Cache | free -h หรือ free -mw | [2, 15, 190, 191] |
vmstat | รายงานข้อมูลหน่วยความจำเสมือน | รายงานสถานะหน่วยความจำ, ปริมาณการสลับย้ายข้อมูลหน้าเพจลงดิสก์ชั่วคราว (si/so – Swapping) และข้อมูลการจองหน่วยความจำเสมือน | vmstat 1 | [2, 15, 25, 81, 134, 136] |
slabtop | ตรวจดูหน่วยความจำเคอร์เนล | ดึงข้อมูลแบบสดเพื่อติดตามแคชและขนาดวัตถุภายในระบบบริหารจัดการเมมโมรีระดับลึกของ Linux (Kernel Slab Allocator) | slabtop -sc | [6, 133, 148, 150] |
numastat | ตรวจเช็กพฤติกรรม NUMA | แสดงสถิติการจัดสรรแรมข้าม Socket ในสถาปัตยกรรม NUMA เพื่อวิเคราะห์หาอาการหน่วยความจำหลุดไปจองฝั่งตรงข้าม (NUMA misses) | numastat | [6, 23, 133, 151, 152] |
pmap | แมปหน่วยความจำรายโปรเซส | ตรวจสอบผังการใช้แรมของโปรเซสอย่างละเอียด (Address, RSS, Dirty, Mapping) และช่วยรายงานค่า PSS (Proportional Set Size) | pmap -x PID | [6, 28, 133, 159, 161] |
sar -r / -B / -W | วิเคราะห์หน่วยความจำย้อนหลัง | ตรวจสอบอัตรา % การจองแรม, แคช, อัตราความล้มเหลวหน้าเพจ (Faults/s), และสถิติ Swap-in / Swap-out สะสมในระบบ | sar -B / sar -r / sar -W | [57, 141, 142] |
ps | ตรวจสอบแรมรายโปรเซส | แสดงเปอร์เซ็นต์ RAM ที่ใช้จริง (%MEM) และขนาดพื้นที่หน่วยความจำส่วนที่พักอยู่ใน RAM จริง (RSS – Resident Set Size) | ps -eo pid,pmem,vsz,rss,comm | [28, 152, 153] |
drsnoop | ตรวจจับ Direct Memory Reclaim | สังเกตการณ์หาภาวะที่แอปพลิเคชันถูกบีบให้รอคิวทำระบบเคลียร์แรมโดยตรง (Direct Reclaim) ซึ่งสร้างความล่าช้าให้กับโปรเซส | drsnoop -T | [6, 133, 167] |
dmidecode -t memory | อ่านข้อมูลสเปกแผงแรมจริง | ตรวจเช็กชนิดแรม (เช่น DDR4), ขนาดแถว, หมายเลข Serial, และระบุช่องเสียบที่ว่างอยู่โดยไม่ต้องเปิดฝาเคสเซิร์ฟเวอร์ | dmidecode -t memory | [1, 173, 174] |
swapon | ตรวจสอบการเปิดใช้ Swap | แสดงรายละเอียดของพาธไฟล์/พาร์ติชันดิสก์ที่ถูกนำมาดัดแปลงให้เป็นแรมเสมือน (Swap Device) และความจุที่เปิดใช้งาน | swapon -s | [6, 133, 491] |
dmesg | ค้นหาประวัติข้อผิดพลาดแรม | สืบหาข้อความการแจ้งเตือนจากระบบ เช่น ล็อกของระบบปฏิบัติการขณะที่เปิดการทำงาน “OOM Killer” เพื่อสังเวยโปรเซสแรมล้น | `dmesg \ | grep -i killed` |
valgrind | ค้นหาร่องรอยเมมโมรีรั่วไหล | ตรวจจับข้อผิดพลาดการคืนทรัพยากรเมมโมรีของแอปพลิเคชัน (Memory Leaks / Pointer errors) โดยมีแลกกับประสิทธิภาพที่ช้าลง | valgrind --tool=memcheck | [173] |
mcelog / rasdaemon | ตรวจเช็ก Hardware Memory Error | เครื่องมือตรวจเช็กความเสื่อมสภาพของแรมเชิงกายภาพ โดยถอดรหัสข้อผิดพลาดระดับลึกระบุตำแหน่งพิกัดแรม Bank, Row และ Column | /var/log/mcelog / rasdaemon | [1] |
3. 💾 หมวดการตรวจสอบพื้นที่เก็บข้อมูลและระบบไฟล์ (Storage & File Systems Inspection)
คำสั่งในหมวดนี้ช่วยติดตามประสิทธิภาพการเมาท์, ตรวจวัดความเร็วการอ่านเขียนดิสก์ I/O ในระดับ Block Device รวมถึงประสิทธิภาพการทำงานของ Page Cache และพฤติกรรมการเปิดไฟล์ของแอปพลิเคชัน
| คำสั่ง (Command) | วัตถุประสงค์หลัก | คำอธิบายและรายละเอียดการใช้งานที่สำคัญ | พารามิเตอร์ / ตัวอย่างการใช้ | แหล่งอ้างอิง |
|---|---|---|---|---|
df | เช็กพื้นที่ไฟล์ซิสเต็ม | ตรวจดูขนาดความจุ พื้นที่ที่ใช้งานไปแล้ว และเปอร์เซ็นต์พื้นที่ว่างของแต่ละไฟล์ซิสเต็มที่เชื่อมต่ออยู่ในระบบปฏิบัติการ | df -h | [209] |
mount | ตรวจสอบพารามิเตอร์การเมาท์ | แสดงระบบไฟล์ทั้งหมดที่กำลังเมาท์ใช้งาน พร้อมทั้งเช็ก Option คอนฟิกูเรชัน (เช่น relatime, discard, rw) | mount | [187, 189] |
lsblk | แสดงโครงสร้างบล็อกดีไวซ์ | แสดงแผนผังอุปกรณ์จัดเก็บข้อมูลทั้งหมดที่ต่ออยู่กับเซิร์ฟเวอร์ โดยระบุพาร์ติชัน ขนาดความจุ และจุดเชื่อมต่อ (Mount Point) | lsblk | [1, 2] |
iostat | วิเคราะห์แบนด์วิดท์ดิสก์ I/O | ตรวจสอบอัตรา IOPS (tps), ปริมาณข้อมูลอ่านเขียนต่อวินาที, ความหน่วงเฉลี่ยคิวส่งดิสก์ (await) และร้อยละความยุ่งของดิสก์ (%util) | iostat -xz 1 | [2, 15, 26, 222, 225, 235] |
sar -d | สรุปการใช้ดิสก์ย้อนหลัง | แสดงรายงานประวัติการใช้ I/O ของดิสก์แต่ละลูกย้อนหลัง หรือมอนิเตอร์แบบสดในรูปแบบคอลัมน์คล้าย iostat | sar -d 1 | [16, 54, 223, 241] |
pidstat -d | เช็ก I/O แยกตามโปรเซส | ตรวจวัดปริมาณข้อมูลที่แต่ละโปรเซสกำลังสั่งเขียน/อ่านบนดิสก์จริง และจับเวลาหน่วงขณะโปรเซสค้างคิวรอ I/O (iodelay) | pidstat -d 1 | [223, 243, 245] |
iotop / biotop | ตรวจดูรายชื่อโปรเซส I/O สูงสุด | หน้าจอรายงานแสดงโปรเซสที่ใช้ปริมาณการอ่านเขียนข้อมูลบนดิสก์บ่อยที่สุดแบบ Real-time เรียงลำดับตามปริมาณแบนด์วิดท์ | iotop -bo / biotop | [7, 23, 223, 256, 260] |
smartctl | อ่านข้อมูลสุขภาพไดรฟ์ | ดึงค่าสถิติภายในของ SSD / HDD เช่น อุณหภูมิ, ชั่วโมงใช้งานสะสม, อัตรา Bad Block และคาดการณ์อัตราการพังล่วงหน้า | smartctl -a /dev/sdX | [1, 7, 223, 279, 280] |
nvme smart-log | มอนิเตอร์สุขภาพ NVMe | ตรวจสอบความร้อน ประสิทธิภาพการใช้งาน และล็อกสุขภาพเชิงลึกที่ส่งตรงมาจากไดรฟ์จัดเก็บความเร็วสูงประเภท NVMe | nvme smart-log /dev/nvmeX | [1, 2] |
biosnoop | ตรวจจับดิสก์ I/O รายครั้ง | แสดงรอยประวัติกิจกรรมการอ่านเขียนดิสก์ทีละบล็อก พร้อมระบุโปรเซสต้นทาง, ขนาดไบต์ และเวลาประมวลผลระดับมิลลิวินาที | biosnoop | [7, 20, 23, 223, 250] |
biolatency | ทำรายงานสรุปความหน่วงดิสก์ | ติดตามตรวจสอบการเรียกทำงาน Block Device และคำนวณสรุปความหน่วงในการเข้าถึงดิสอ์อกมาเป็นตารางกราฟฮิสโตแกรม | biolatency | [7, 23, 223, 248] |
blktrace / btrace | ตรวจสอบคิว I/O ระดับเคอร์เนล | บันทึกพฤติกรรมและความเร็วในการตอบสนองคิวงานในระดับไดรเวอร์ (Block layer) ตั้งแต่จองคิว, จัดการรวมคิว, จนถึงเขียนจริง | btrace /dev/sdX | [7, 223, 264] |
btt | สรุปวิเคราะห์ผล blktrace | เครื่องมือวิเคราะห์ผลลัพธ์จาก blktrace โดยคำนวณแยกย่อยเวลาเพื่อประเมินประสิทธิภาพในส่วนต่างๆ (เช่น Q2C, D2C) | btt -i bin_file | [269, 271] |
MegaCli | ตรวจสอบตัวคอนโทรลเลอร์ RAID | ดึงสถานะการตั้งค่า สภาพก้อนแบตเตอรี่สำรองไฟ และสถิติระดับฮาร์ดแวร์บนการ์ดควบคุม LSI RAID Controller | MegaCli -AdpAllInfo -aAll | [7, 223, 278] |
ioping | ทดสอบความเร็วหน่วงดิสก์แบบเรียบง่าย | ตัวยิงแพ็กเก็ตทดสอบความล่าช้าในการส่งคำสั่งเขียนดิสก์ขนาดเล็ก (4KB) เพื่อหา RTT ของการสื่อสารกับดิสก์แบบปลอดภัย | ioping /dev/sdX | [290, 291] |
fio | ทดสอบจำลองภาระงานดิสก์ | โปรแกรมเบนช์มาร์กยอดนิยมสำหรับจำลองพฤติกรรมการอ่านเขียนดิสก์ โดยจำกัดรูปแบบและข้ามหน่วยความจำ Page cache ได้ | fio --name=randwrite ... | [292] |
dd | เช็ก Throughput สูงสุดแบบเร่งด่วน | ใช้คำสั่งคัดลอกบล็อกข้อมูลขนาดใหญ่เขียนลงไปบนไฟล์เพื่อทดสอบความเร็วสูงสุดในการอ่าน/เขียนดิสก์แบบเรียงลำดับ | dd if=/dev/zero of=file1 bs=1024k | [211, 286] |
ionice | ปรับลำดับความสำคัญของ I/O | ตั้งค่าคลาสและสิทธิ์ในการเข้าแย่งใช้สิทธิ์ I/O ของโปรเซสบนระบบ เช่น การกำหนดให้โปรเซสสำรองข้อมูลทำงานเมื่อดิสก์ว่างเท่านั้น | ionice -c 3 -p PID | [293] |
fatrace | มอนิเตอร์การทำกิจกรรมบนไฟล์ซิสเต็ม | สังเกตการณ์โปรเซสทั้งหมดในระบบขณะสั่งเปิด (O), อ่าน (R), เขียน (W), ปิด (C) ไฟล์พร้อมแสดงสิทธิ์ไดเรกทอรีแบบ Real-time | fatrace -T | [187, 200] |
opensnoop | ตรวจสอบประวัติการเปิดใช้ไฟล์ | สตรีมดูประวัติการเรียกใช้ open/openat syscall ของระบบปฏิบัติการพร้อมชี้เป้าชื่อโปรเซสและพาธไฟล์ที่ถูกเรียกหา | opensnoop -T | [23, 187, 201] |
filetop | จัดอันดับสถิติการใช้งานไฟล์สูงสุด | หน้าจอจำลองสถิติที่จัดแสดงรายชื่อไฟล์ที่มีโปรเซสสั่งรันเขียนอ่านบ่อยที่สุด พร้อมรายงานขนาดของแบนด์วิดท์สะสม | filetop | [23, 187, 202] |
cachestat | มอนิเตอร์การ Hit/Miss ของหน่วยความจำ | รายงานเปอร์เซ็นต์ความสำเร็จของการเข้าชิงดึงข้อมูลระบบไฟล์จาก Page Cache โดยไม่ต้องโหลดจากเนื้อดิสก์จริง | cachestat | [23, 187, 429] |
ext4dist / ext4slower | วิเคราะห์ความล่าช้าบน Ext4 | ตรวจวัดความช้าของการสลับเขียนอ่านไฟล์บนระบบไฟล์ ext4 โดยรายงานเฉพาะกรณีที่ความหน่วงเกินเกณฑ์ที่กำหนด | ext4slower 10 | [23, 187, 188] |
e2fsck | สแกนและบำรุงรักษาไฟล์ซิสเต็ม | เครื่องมือตรวจสอบข้อผิดพลาด ซ่อมบำรุงความเสียหาย และจัดทำดัชนีไดเรกทอรีใหม่ในระบบไฟล์ ext4 เพื่อเร่งสปีด | e2fsck -D -f /dev/sdX | [213] |
zfs | แสดงข้อมูลและปรับแต่ง ZFS | คำสั่งบริหารจัดการ เรียกดูคุณสมบัติ และตั้งค่าพารามิเตอร์การทำงานบนระบบไฟล์ประสิทธิภาพสูงประเภท ZFS | zfs get all pool_name | [214] |
lsof | แสดงรายการไฟล์ที่กำลังเปิดใช้งาน | ค้นหาว่าไฟล์ซิสเต็ม, ดีไวซ์บอร์ด, หรือ Network Socket ที่ระบุ กำลังถูกควบคุมและเปิดค้างไว้โดยโปรเซส ID ใดบ้าง | lsof -p PID | [199, 382] |
4. 🌐 หมวดการตรวจสอบระบบเครือข่าย (Network Inspection)
คำสั่งเหล่านี้ใช้สำหรับการตรวจสอบพอร์ตที่เปิดใช้งาน, ซ็อกเก็ต, สถิติโปรโตคอลการรับส่ง (TCP/UDP), ทราฟฟิกเครือข่ายสะสม, ปัญหาการสูญเสียแพ็กเก็ต (Packet Loss), และการแก้ไขตารางเส้นทาง (Route Table)
| คำสั่ง (Command) | วัตถุประสงค์หลัก | คำอธิบายและรายละเอียดการใช้งานที่สำคัญ | พารามิเตอร์ / ตัวอย่างการใช้ | แหล่งอ้างอิง |
|---|---|---|---|---|
ss | ตรวจสอบพอร์ตและซ็อกเก็ตด่วน | แสดงรายการการเชื่อมต่อ ซ็อกเก็ต และพอร์ตเครือข่ายที่เปิดใช้งาน โดยดึงข้อมูลโดยตรงจาก Netlink ช่วยประหยัดเวลา CPU | ss -tiepm | [8, 45, 106, 308, 310] |
ip | จัดการและตรวจสอบอินเตอร์เฟส | แสดงข้อมูลการตั้งค่าและระดับสถิติแบนด์วิดท์ RX/TX, ข้อผิดพลาดสะสมของพอร์ตเครือข่าย, รวมถึงเรียกดูข้อมูลตารางเส้นทาง | ip -s link หรือ ip route | [8, 46, 106, 308, 318, 320] |
ifconfig | ตรวจดูไอพีและกำหนดค่าเครือข่าย | คำสั่งระดับตรรกะแบบดั้งเดิมที่ใช้แสดงพารามิเตอร์เครือข่ายและการรับส่งของอินเตอร์เฟสพอร์ต (ปัจจุบันแนะนำให้หันไปใช้คำสั่ง ip) | ifconfig | [8, 46, 106, 308, 321] |
nstat | ดึงข้อมูลเครือข่ายผ่านสัญลักษณ์ SNMP | รายงานข้อมูลสถิติของ IP และโปรโตคอล TCP/UDP ตามนิยามสากลของ SNMP MIBs พร้อมตัวเลือกในการรีเซ็ตค่าเพื่อวัดประสิทธิภาพช่วงทดสอบ | nstat -s | [8, 106, 308, 324] |
netstat | เช็กประสิทธิภาพซ็อกเก็ตและโปรโตคอล | ดึงข้อมูลภาพรวมการใช้งานพอร์ต สถิติตัวแปร TCP (เช่นการเกิด Failed connection, Resets) และปริมาณแพ็กเก็ตสะสมของอินเตอร์เฟส | netstat -an หรือ netstat -s | [4, 8, 46, 106, 308, 327] |
sar -n | วิเคราะห์เครือข่ายย้อนหลัง | บันทึกปริมาณการรับส่งทราฟฟิกย้อนหลังตามชนิดกลุ่ม (เช่น DEV เช็กการรับส่ง, EDEV เช็ก error, TCP เช็กสถิติ และ ETCP เช็ก TCP error) | sar -n DEV,TCP,ETCP 1 | [16, 57, 106, 308, 335] |
nicstat | มอนิเตอร์แบนด์วิดท์และการใช้งาน NIC | รายงานสถิติแบนด์วิดท์การอ่านเขียนข้อมูลต่อวินาที, ความเร็วเฉลี่ยของแพ็กเก็ต และเปอร์เซ็นต์ปริมาณการใช้งานจริงเทียบกับสปีดสูงสุด | nicstat -z 1 | [8, 24, 106, 308, 344] |
ethtool | ดูค่าคอนฟิกระดับฮาร์ดแวร์เน็ตเวิร์ก | ตรวจเช็กความเร็วสายสัญญาณ (เช่น 10G/100G), โหมด Duplex, ข้อมูลไดรเวอร์ชิปเซ็ตเน็ตเวิร์ก และปรับแก้ไขระบบ Offload ของพอร์ต NIC | ethtool -S eth0 หรือ ethtool -i | [8, 24, 106, 308, 348] |
tcplife | บันทึกช่วงอายุการเชื่อมต่อ TCP | ตรวจสอบและบันทึกประวัติการเริ่มสร้างและปิดตัวลงของแต่ละ TCP connection โดยเก็บเวลาทำระบบจริง, ไบต์รับส่ง, และข้อมูลโปรเซส | tcplife | [8, 23, 106, 308, 351] |
tcptop | ตรวจดูโปรเซสที่ดึงแบนด์วิดท์สูงสุด | แสดงภาพรวมสถิติการใช้งาน Throughput ของพอร์ต TCP โดยคัดกรองจัดอันดับโปรเซสที่ใช้ปริมาณข้อมูลรับส่งสูงสุดในขณะนั้น | tcptop | [8, 23, 106, 308, 355] |
tcpretrans | ตรวจสอบปัญหาข้อมูลตกหล่น | ตรวจหาและแสดงข้อมูล Real-time ทุกครั้งที่เครือข่ายเกิดปัญหาและเซิร์ฟเวอร์จำใจต้องส่งแพ็กเก็ต TCP ซ้ำใหม่ (Retransmission) | tcpretrans | [8, 106, 308, 357] |
tcpdump | บันทึกและดักจับทราฟฟิกเครือข่าย | เครื่องมือทำ Packet Sniffing คอยถอดรหัสแพ็กเก็ตที่วิ่งผ่านบอร์ดเน็ตเวิร์กแบบละเอียด เพื่อนำมาใช้สืบหาความผิดพลาดและวิเคราะห์โปรโตคอล | tcpdump -ni eth4 -w out.pcap | [8, 18, 51, 106, 304, 308, 373] |
Wireshark / tshark | ถอดรหัสโปรโตคอลเครือข่าย | เครื่องมือวิเคราะห์วิถีแพ็กเก็ตแบบเจาะลึกที่มาพร้อมกับฟังก์ชันถอดรหัสร้อยกว่าโปรโตคอลเครือข่าย โดยมี tshark เป็นรูปแบบที่ใช้สั่งการบน CLI | tshark -r file.pcap | [8, 106, 308, 378] |
ping | วัดเวลาหน่วงเครือข่าย | ทดสอบความเชื่อมต่อทางตรรกะแบบง่ายโดยยิงสัญญาณ ICMP echo requests เพื่อวัดเปอร์เซ็นต์แพ็กเก็ตหายและค่าเวลา RTT | ping target_ip | [291, 383, 384] |
traceroute / mtr | แสดงเส้นทางการเดินทางของข้อมูล | ตรวจสอบรายชื่อเร้าเตอร์และฮอปทางผ่านที่ใช้ส่งข้อมูลไปยังปลายทาง โดย mtr จะผนวกเครื่องมือส่งปิงแบบต่อเนื่องเอาไว้ในหน้าจอเดียว | mtr target_ip | [383, 391] |
iperf | ทดสอบความเร็วแบนด์วิดท์สูงสุด | โปรแกรมยิงทดสอบ Throughput สูงสุดในการส่งข้อมูลแบบคู่ขนานเพื่อหาความเร็วขีดจำกัดจริงของโปรโตคอล TCP/UDP บนเครือข่าย | iperf -c server_ip -P 2 | [14, 307, 385] |
netperf | เบนช์มาร์กตรวจสอบเครือข่าย | เครื่องมือวัดประสิทธิภาพแบนด์วิดท์และตรวจสอบอัตราความหน่วงการรับส่งข้อมูลบนโปรโตคอลต่างๆ | netperf | [388, 521] |
tc | จัดระเบียบการจราจรเครือข่าย | กำหนดคิวการประมวลผลเครือข่าย (qdisc) เพื่อควบคุมความหนาแน่น และใช้ netem ในการจำลองสภาวะแวดล้อมเลวร้าย เช่น packet loss | tc qdisc show dev eth0 | [299, 388] |
pktgen | เครื่องมือสร้างภาระแพ็กเก็ตแบบเคอร์เนล | โปรแกรมสร้างภาระการส่งข้อมูลเครือข่ายความเร็วสูงเป็นพิเศษจากภายในตัว Kernel ของระบบเอง เพื่อใช้ทดสอบประสิทธิภาพ NIC | pktgen | [391] |
Flent | ทดสอบอัตราความตอบสนองเครือข่าย | โปรแกรมเบนช์มาร์กเครือข่ายแบบทดสอบระบบอัตโนมัติพร้อมช่วยวาดพลอตกราฟเปรียบเทียบผลลัพธ์การทำงานออกมาอย่างสวยงาม | flent | [391] |
tcpreplay | ส่งแพ็กเก็ตเครือข่ายย้อนรอยซ้ำ | คำสั่งสำหรับนำไฟล์ล็อก pcap ดั้งเดิมมาสั่งส่งสัญญาณวิ่งย้อนรอยกลับเข้าไปบนพอร์ต NIC ใหม่ เพื่อใช้ในการจำลองพฤติกรรม | tcpreplay | [391] |
tuned-adm | ปรับแก้ไขโปรไฟล์เครือข่ายเครื่อง | จัดการเปิดใช้งานเซตโปรไฟล์การจูนนิ่งเซิร์ฟเวอร์ระบบอัตโนมัติ (เช่น network-latency หรือ network-throughput) ตามสภาวะแวดล้อมจริง | tuned-adm profile network-latency | [398] |