Chapter sebelumnya memberi kita potret sisi perangkat lunak: nama kernel, distribusi, dan versinya. Tugas administrasi berikutnya biasanya menanyakan sisi barang: core prosesor, RAM yang tersedia, dan disk yang terpasang. Linux menjawabnya dari dua arah sekaligus — file semu di /proc yang dikelola kernel, dan alat inventaris seperti lscpu dan lsblk yang tinggal membaca file-file tersebut lalu memformatnya rapi. Chapter ini membedah keduanya, lalu menutup dengan tabel alat per kebutuhan.
/proc: Jendela Kernel ke Hardware #
Direktori /proc adalah pseudo-filesystem: isinya bukan file di disk, melainkan data yang kernel hasilkan langsung setiap kali kita membacanya. Dua file paling sering dikunjungi untuk urusan hardware adalah cpuinfo dan meminfo — kita pastikan keduanya ada di sistem latihan:
ls /proc | grep -E '^(cpuinfo|meminfo|version)$'Output yang Dihasilkan:
cpuinfo
meminfo
versionFile version berisi versi kernel — bahasan chapter System Information
; cara kerja direktori /proc sendiri sudah kita bedah di Struktur Filesystem Linux
.
Setiap baris /proc/meminfo berformat NamaField: nilai unit. Field yang paling sering dibaca admin:
| Field | Makna |
|---|---|
MemTotal | total RAM fisik yang dikenali kernel |
MemFree | RAM yang sama sekali belum terpakai |
MemAvailable | estimasi RAM yang masih bisa dipakai tanpa menukar ke swap |
SwapTotal | total ruang swap yang aktif |
Kita bisa membuktikan keempat field itu memang hadir tanpa harus mencetak angkanya — angka RAM jelas berbeda di tiap mesin:
grep -E '^(MemTotal|MemFree|MemAvailable|SwapTotal):' /proc/meminfo | cut -d: -f1Output yang Dihasilkan:
MemTotal
MemFree
MemAvailable
SwapTotalKetika kita butuh nilainya untuk skrip, pola awk berikut adalah cara ekstraksi standarnya. Angka /proc/meminfo asli berubah setiap detik, jadi kita berlatih dengan cuplikan file tiruan yang nilainya dikunci:
mkdir -p latihan
printf 'MemTotal: 8032516 kB\nMemAvailable: 6521004 kB\n' > latihan/meminfo-contoh.txt
awk -F': +' '/^MemTotal:/ {print $2}' latihan/meminfo-contoh.txtOutput yang Dihasilkan:
8032516 kBMari kita bedah tiga baris blok di atas:
- Baris 1 (
mkdir -p latihan): menyiapkan folder kerja latihan — idempoten, aman diulang berkali-kali. - Baris 2 (
printf ... > latihan/meminfo-contoh.txt): membuat file latihan berisi dua baris bergaya/proc/meminfodengan angka tetap, sehingga hasil latihan selalu sama di komputer mana pun. - Baris 3 (
awk -F': +' ...): opsi-Fmengatur pemisah field ke regex: +(tanda titik dua diikuti spasi satu atau lebih), pola/^MemTotal:/hanya memproses baris yang diawaliMemTotal:, dan{print $2}mencetak field kedua — nilai plus unitnya.
Di mesin sungguhan cukup ganti argumen terakhir menjadi /proc/meminfo. Prinsip yang sama berlaku untuk /proc/cpuinfo: satu entri processor per core logis, disusul field seperti model name, cpu cores, dan siblings — nilainya bergantung mesin, jadi kita cukup tahu polanya.
lscpu: Potret Prosesor dalam Satu Layar #
Perintah lscpu merangkum /proc/cpuinfo menjadi tabel yang langsung terbaca. Berikut contoh tampilan output di mesin desktop biasa:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Vendor ID: AuthenticAMD
Model name: AMD Ryzen 7 5700G with Radeon Graphics
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1Tiga field yang paling sering kita perlukan:
Architecture:x86_64berarti prosesor 64-bit — menentukan arsitektur paket yang boleh dipasang. Nilaiaarch64menandakan mesin ARM.CPU(s): jumlah core logis hasil perkalianCore(s) per socket×Socket(s)×Thread(s) per core. Pada contoh di atas: 4 × 1 × 2 = 8.Model name: nama lengkap prosesor; pola cepatlscpu | grep -m1 'Model name'adalah cara paling umum menarik satu baris ini untuk skrip inventaris.
lsblk: Peta Disk dan Partisi #
Untuk sisi penyimpanan, lsblk menggambar pohon semua block device — disk, partisi, dan optical drive. Berikut contoh tampilan di mesin dengan satu disk SATA dan satu USB flash disk:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 464.3G 0 part /
sdb 8:16 1 14.9G 0 disk
└─sdb1 8:17 1 14.9G 0 partKolom NAME memperlihatkan hierarki lewat garis pohon: sda1 sampai sda3 adalah partisi di dalam disk sda, sedangkan sdb dengan kolom RM bernilai 1 adalah USB flash disk yang bisa dicabut. Kolom TYPE membedakan disk, part, rom, dan lvm; kolom MOUNTPOINTS menunjukkan titik tempel perangkat di pohon direktori. Nama persisnya berbeda antar mesin, dan pola penamaannya (sda, nvme0n1, vda) kita bedah tuntas di chapter Device Management
.
Tabel Alat Inventaris #
| Alat | Melihat apa | Catatan |
|---|---|---|
lscpu | prosesor, arsitektur, core | membaca /proc/cpuinfo |
lsblk | disk, partisi, penghubung mount | aman dijalankan tanpa root |
free -h | RAM dan swap saat ini | angkanya hidup, lihat /proc/meminfo |
lsusb | pohon perangkat USB | perlu paket usbutils |
lspci | perangkat PCI/PCIe | perlu paket pciutils |
lshw | inventaris lengkap semua bus | paling lengkap, sangat panjang |
dmidecode | data BIOS/DMI dari motherboard | wajib dijalankan sebagai root |
Dua alat terakhir menuntut hak root: dmidecode membaca tabel DMI motherboard, sedangkan lshw merangkum seluruh bus sistem. Di sistem latihan minimal, lsusb dan lspci bahkan bisa saja belum terpasang — di sinilah /proc menyelamatkan: /proc/cpuinfo dan /proc/meminfo selalu ada sejak boot pertama. Daftar lengkap major number perangkat ada di allocated devices
, manual lscpu di lscpu(1)
, dan lsblk di lsblk(8)
.
Inventaris selesai dibaca, tetapi satu pertanyaan menggantung: /dev/sda itu sebenarnya file jenis apa, dan siapa yang membuatnya muncul setiap boot? Chapter berikutnya masuk ke direktori /dev dan menjelaskan filosofi “semua perangkat adalah file”.