Uninterruptible Sleep
Recently, I’ve upgraded some servers at work to RHEL7. I’ve had a few things that I didn’t plan for, but that’s to be expected when you do a major upgrade and you can’t test everything in advance. However, I have had one issue that is still causing problems. And ironically, it seems to affect my own account the most.
On most mornings, when I ssh into our server, it takes a really long time to login. I assumed this was an nfs issue because I almost always assume slowness things are related to nfs. After logging in, I run top and can see the load on the system go up. There’s no single process that looks to be out of control. I did notice though that an imap process under my name would jump to the top every so often. Since I had Mail on my mac open, I expected that. However, since I wasn’t doing anything with mail and I didn’t see any new messages, I didn’t understand why it would suddenly cause a high load. I thought it was just coincidence, but after a few days of this happening, I figured something was there and I googled “Mac Mail High Load”. This brought up High Mail CPU with El Capitan as the first result. And I was running El Capitan. I ran the top command and looked for processes in the uninterruptible sleep state and found me with a bunch of them. I have a few because I’m checking a few different email accounts, some are under my username and others are under a user called ichep.
[~]# top -b -n 1 |grep D PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 476 ichep 20 0 19776 3208 2204 D 0.0 0.0 0:00.12 imap 946 mary 20 0 20052 3348 1992 D 0.0 0.0 0:00.14 imap 1101 mary 20 0 19296 2400 1928 D 0.0 0.0 0:00.00 imap 1166 mary 20 0 19044 1996 1672 D 0.0 0.0 0:00.00 imap 1167 ichep 20 0 19044 1812 1524 D 0.0 0.0 0:00.00 imap
I followed the instructions in the webpage and turned off “Move deleted messages to the Trash mailbox” and closed the preferences window. Then reopened it and turned off “Compact mailboxes automatically”.
Now when I run mail, I don’t appear to get those processes in the uninterruptible state. However, I still think there’s an nfs issue causing those processes to get into that state. I’m not 100% sure though, so I’ll keep an eye on things over the next week to see if I find anything. The weird thing about this is that I tend to notice the problem the most, the first thing in the morning when I initially login. This makes me think it’s an nfs issue, as the disks that I’d normally use would probably be unmounted. My logging in should cause autofs to mount the disks I need. And I think there’s a disk that my .bash_profile uses to source something that is causing the problem. The only “proof” that I think it’s an nfs issue is that I check another mail account on a different server. On this second server, everything is set up exactly the same, except that my home disk is a local disk, not one mounted via nfs. And on this second server, I’ve never seen any issues with this type of delay or uninterruptible sleep states.