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:

bash
ls /proc | grep -E '^(cpuinfo|meminfo|version)$'

Output yang Dihasilkan:

text
cpuinfo
meminfo
version

File 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:

FieldMakna
MemTotaltotal RAM fisik yang dikenali kernel
MemFreeRAM yang sama sekali belum terpakai
MemAvailableestimasi RAM yang masih bisa dipakai tanpa menukar ke swap
SwapTotaltotal ruang swap yang aktif

Kita bisa membuktikan keempat field itu memang hadir tanpa harus mencetak angkanya — angka RAM jelas berbeda di tiap mesin:

bash
grep -E '^(MemTotal|MemFree|MemAvailable|SwapTotal):' /proc/meminfo | cut -d: -f1

Output yang Dihasilkan:

text
MemTotal
MemFree
MemAvailable
SwapTotal

Ketika 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:

bash
mkdir -p latihan
printf 'MemTotal:        8032516 kB\nMemAvailable:   6521004 kB\n' > latihan/meminfo-contoh.txt
awk -F': +' '/^MemTotal:/ {print $2}' latihan/meminfo-contoh.txt

Output yang Dihasilkan:

text
8032516 kB

Mari kita bedah tiga baris blok di atas:

  1. Baris 1 (mkdir -p latihan): menyiapkan folder kerja latihan — idempoten, aman diulang berkali-kali.
  2. Baris 2 (printf ... > latihan/meminfo-contoh.txt): membuat file latihan berisi dua baris bergaya /proc/meminfo dengan angka tetap, sehingga hasil latihan selalu sama di komputer mana pun.
  3. Baris 3 (awk -F': +' ...): opsi -F mengatur pemisah field ke regex : + (tanda titik dua diikuti spasi satu atau lebih), pola /^MemTotal:/ hanya memproses baris yang diawali MemTotal:, 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:

text
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):           1

Tiga field yang paling sering kita perlukan:

  1. Architecture: x86_64 berarti prosesor 64-bit — menentukan arsitektur paket yang boleh dipasang. Nilai aarch64 menandakan mesin ARM.
  2. CPU(s): jumlah core logis hasil perkalian Core(s) per socket × Socket(s) × Thread(s) per core. Pada contoh di atas: 4 × 1 × 2 = 8.
  3. Model name: nama lengkap prosesor; pola cepat lscpu | 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:

text
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 part

Kolom 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 #

AlatMelihat apaCatatan
lscpuprosesor, arsitektur, coremembaca /proc/cpuinfo
lsblkdisk, partisi, penghubung mountaman dijalankan tanpa root
free -hRAM dan swap saat iniangkanya hidup, lihat /proc/meminfo
lsusbpohon perangkat USBperlu paket usbutils
lspciperangkat PCI/PCIeperlu paket pciutils
lshwinventaris lengkap semua buspaling lengkap, sangat panjang
dmidecodedata BIOS/DMI dari motherboardwajib 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”.