Status proses “Disk sleep” Thunar
January 17th, 2008
Ini terjadi dan muncul secara acak, dan sepertinya dipicu oleh proses flush buffer yang belum selesai ter-synchronised ke USB stick/flashdisk. Akibatnya proses seperti ‘ps’ atau proses dari aplikasi yang mencoba menengok directory /proc seperti terhenti (hang).
Berikut ini output dari ‘uptime’:
ops@ibizerver:~$ uptime
23:57:08 up 2 days, 20:18, 7 users, load average: 24.08, 22.30, 20.86
load average mencapai angka 2 digit, tertinggi pernah tercatat mencapai angka 60, namun sistem tidak mengalami slow-down samasekali.
dari perintah ‘free’:
ops@ibizerver:~$ free
total used free shared buffers cached
Mem: 3370276 3050792 319484 0 209560 1740104
-/+ buffers/cache: 1101128 2269148
Swap: 3219448 52008 3167440
utilisasi memori dan paging juga masih dalam batas ambang normal.
Dari output ’strace’:
open("/proc/31129/status", O_RDONLY) = 6
read(6, "Name:\tThunar\nState:\tD (disk slee"..., 1023) = 628
close(6) = 0
open("/proc/31129/cmdline", O_RDONLY) = 6
read(6,
ketahuan bahwa proses yang membuat program ‘ps’ terhenti adalah proses Thunar (status Disk sleep, uninterruptible I/O).
Pemilik dari PID tersebut disini adalah ‘w9′, setelah dilihat, ada satu proses yang kemungkinan besar memblokir/menunggu proses operasi I/O dari Thunar terhenti, yaitu ltspfs.
Output dari ‘pstree’ menunjukkan PID dari ltspfs milik user w9, adalah 31407.
init(1)-+-Thunar(21199,ops)---{Thunar}(21385)
|-Thunar(1119,w1)---{Thunar}(1722)
|-Thunar(10786,w5)---{Thunar}(11678)
|-Thunar(14168,w7)
|-Thunar(13626,w8)
|-Thunar(31129,w9)-+-{Thunar}(32167)
| |-{Thunar}(650)
| |-{Thunar}(651)
| |-{Thunar}(652)
| `-{Thunar}(653)
|-ltspfs(31407,w9)-+-{ltspfs}(31409)
| |-{ltspfs}(31410)
| |-{ltspfs}(32296)
| `-{ltspfs}(425)
Untuk saat ini ‘kill -9 31407′ dapat menyelesaikan masalah.