PDA

View Full Version : Live USB F12; processes in "Disk sleep", unusable


threecheese
26th January 2010, 06:45 PM
While running an F12 Live USB from a flash stick, processes performing heavy-ish disk I/O go into a "disk sleep" state (STAT column is "D" in `ps`) - this causes the system to grind to a halt. This happens particularly when using yum to install a package or two - several processes (including yum, usb-storage, and a few k* kernel procs) enter this state, which slows down everything. (trying a `yum update` actually made the system completely unresponsive; I walked away for three hours and only 150 packages had actually been downloaded).

I tried disabling power management on the disk with `echo on > /sys/bus/usb/<deviceid>/power/level' per the kernel docs at /Documentation/usb/power-management.txt, but that did nothing.

Is this an unavoidable by-product of running off a USB flash drive? I thought that flash was supposed to be fast; I cannot imagine it takes so long for I/O that processes have to block so much that it takes the whole system down....

Could it be my device? It's an almost-new 16gb sandisk cruzer, that worked previously.

Any next-steps for diagnosis would be much appreciated.

Thanks for your help.

jenaniston
26th January 2010, 08:40 PM
. . . running an F12 Live USB from a flash stick, processes performing heavy-ish disk I/O go into a "disk sleep" state (STAT column is "D" in `ps`) -
. . .
I thought that flash was supposed to be fast;

It's an almost-new 16gb sandisk cruzer, that worked previously.
. . .

I'm very interested in how USB live versions are running I/O and architecture-wise with the hard drive, so this thread post is interesting.

First question that comes to mind . . . What is the overlay - if any - on the 16GB USB F12 Live ?
More may or may not always be better - I've heard 2 GB is about the maximum - and although you can put more overlay on the pendrive - does it make it run worse ? I dunno.

What others - including I - have meant is that a live USB is the fastest way to run a live version OS vs. a CDiso (or DVD iso) -
a "true"drive that has to spin up to read for new processes etc. will be slooower.

Maybe try to also take a look at your df -h results . . . you can compare to my F11 USB (yes, only 697MB on a 8 GB stick -no overlay) if it helps . . .

[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/live-rw 3.0G 2.2G 816M 73% /
tmpfs 1008M 284K 1008M 1% /dev/shm
/dev/sdb1 7.5G 697M 6.9G 10% /mnt/live
varcacheyum 1008M 0 1008M 0% /var/cache/yum
/tmp 1008M 12K 1008M 1% /tmp
vartmp 1008M 0 1008M 0% /var/tmp
[root@localhost ~]#

after adding yumex, then yum install knetstats, then snort I get . . .
/dev/mapper/live-rw 3.0G 2.2G 804M 74% /
/dev/mapper/live-rw 3.0G 2.4G 577M 81% /
/dev/mapper/live-rw 3.0G 2.4G 567M 82% /


More space is getting mapped to the filesystem than the size of the installs - that's for sure.

This is all on a 80 GB hard drive campus computer in our engineering library - rather than use my university log in I booted my F11 USB stick -
the mounted F11 live filesystem started using 73 % of the mounted space mapped to it off that 80 GB hard drive.
is this where the limitation of live OS versions really comes in to play - regardless of USB size (8 GB or 16 GB) or for that matter the hard drive size (80GB or 1TB)?

The last I checked my F12 KDE on 8GB USB - with a 1 GB overlay -
loaded for my purposes with snort and dhcp, tftp, and dnsmasq servers was up to 83 % of mapped available usage.

My only real point - and my point of interest really - is that I guess these USB live versions still rely and need the I/O of a working hard drive.

[root@localhost ~]# ps -aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.3 0.0 2012 800 ? Ss 10:59 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S< 10:59 0:00 [kthreadd]
. . .
liveuser 2925 0.0 0.1 22388 2600 ? Ss 11:00 0:00 gnome-screensaver
liveuser 2967 1.9 0.8 73932 17604 ? Rl 11:04 0:01 gnome-terminal
liveuser 2968 0.0 0.0 1928 596 ? S 11:04 0:00 gnome-pty-helper
liveuser 2969 0.0 0.0 4936 1652 pts/0 Ss 11:04 0:00 bash
root 2990 0.0 0.0 5184 1356 pts/0 S 11:04 0:00 su -
root 2996 0.0 0.0 4936 1648 pts/0 S 11:04 0:00 -bash
root 3022 0.0 0.0 4660 996 pts/0 R+ 11:05 0:00 ps -aux
[root@localhost ~]#



Most all processes can be in a "sleep" state - though not "D" - from the ps man page http://linux.die.net/man/1/ps :

R - Running or runnable (on run queue)
S - Interruptible sleep (waiting for an event to complete)
D - Uninterruptible sleep (usually IO)
X - Dead (should never be seen)

additional characters may be displayed:
+ is in the foreground process group
s is a session leader

Maybe this helps sheds some light on what you're doing - maybe not -

so anyhoo, to get at my laptop hard drive to rescue, fix, add driver etc.
I will likely need to full "install" F11 or F12 to a USB. I can't I/O off the "broken"hard drive - well quite yet anyway.

Interesting thread - let us know in the forums what you find out.

Good luck.

threecheese
27th January 2010, 12:34 AM

First question that comes to mind . . . What is the overlay - if any - on the 16GB USB F12 Live ?
More may or may not always be better - I've heard 2 GB is about the maximum - and although you can put more overlay on the pendrive - does it make it run worse ? I dunno.

I do have slightly larger than 2GB for the overlay - I used the gui liveusb-creator with a stock F12 x86-64 iso to populate the flash drive.

You know, I am not sure if my procs were in state 'D' after all - I had the gnome system monitor running, which said "disk sleep", and a too-quick look at the ps man page gave me 'D' (damn alpha sort). It could have been S, or D+, S+ etc., I am not sure.

Are there any recommended tools to look at I/O stats, or should I go right to OProfile or one of the kernel tracing tools?

thx