GNU/Linux >> Belajar Linux >  >> Linux

Mengukur 'total byte yang ditulis' di Linux

Solusi 1:

Kemungkinan lain adalah dengan melihat /proc/diskstats. Itu tidak terus-menerus di seluruh reboot, tetapi memiliki data untuk setiap perangkat blok. Mungkin yang paling menarik bagi Anda adalah bidang 10, yang berisi jumlah total sektor yang ditulis. Pada sistem dengan disk scsi dengan ukuran sektor 512 byte, Anda dapat menjalankan

awk '/sd/ {print $3"\t"$10 / 2 / 1024}' /proc/diskstats

untuk melihat berapa megabita yang ditulis ke setiap perangkat. Outputnya akan terlihat seperti

sda 728.759
sda1 79.0908
sda2 649.668

Solusi 2:

Saya berjuang dengan masalah yang sama pada notebook saya, tetapi karena saya mem-boot ulang hampir setiap hari, jawaban yang diterima tidak membantu. Saya memiliki Samsung mSATA SSD, yang kebetulan memiliki atribut SMART #241 Total_LBAs_Written. Menurut dokumentasi resmi,

Untuk menghitung ukuran total (dalam Byte), kalikan nilai mentah atribut ini dengan 512B.

Jadi perintah berikut memberi saya total TB yang tertulis di disk SSD (sdb) saya

sudo smartctl -A /dev/sdb | awk '/^241/ { print "TBW: "($10 * 512) * 1.0e-12, "TB" } '

Karena ini juga berfungsi di HDD saya, saya berasumsi bahwa ini seharusnya berfungsi di hampir semua hard disk modern.

Solusi 3:

Anda dapat melihat berapa banyak data yang telah ditulis ke sistem file ext4 dengan melihat di /sys/fs/ext4/$DEVICE/lifetime_write_kbytes.

Solusi 4:

Anda dapat mencoba iostat . Ini memberi Anda statistik yang terkait dengan penggunaan IO dan CPU. Lihat panduan man iostat .

Solusi 5:

Untuk KINGSTON SEDC400S37480G saya, di bawah Ubuntu Server 14.04, saya menggunakan skrip berikut untuk memantau TBW. Saya menjalankannya dari cron sekali setiap hari. Skrip menghasilkan file log.

Anda memerlukan calc agar bisa berfungsi. Instal calc menggunakan:

apt-get install apcalc

Konten skrip:

echo "*** $(date -R) ***" >> /scripts/tbw/log.txt
tbw=$(cat /sys/fs/ext4/sda1/lifetime_write_kbytes)
TB=1000000000
echo TB written to sda1: >> /scripts/tbw/log.txt | calc $tbw / $TB >> /scripts/tbw/log.txt

Akan menampilkan:

*** Thu, 20 Jul 2017 03:02:51 +0300 ***
TB written to sda1:
    3.062138442

Linux
  1. Cara Memantau Aktivitas Pengguna Di Linux

  2. Bagaimana cara menilai batas pipa di bawah linux?

  3. Bergabung dengan video webm di Linux

  1. Batas panjang nama file di linux?

  2. Bagaimana cara menjadwalkan reboot di Linux?

  3. RDP dari linux ke windows

  1. Mengelola partisi di Linux dengan fdisk

  2. Menandatangani executable di Linux

  3. Bagaimana cara membangun Visual Studio Solution di Linux?