Archive for 'Solaris Debugging'

Summarizing system call activity on Solaris hosts

I previously described how to use strace to to summarize system call activity on Linux hosts. Solaris provides similar data with the truss “-c” option: $ truss -c -p 26396 syscall seconds calls errors read .000 3 write 7.671 25038 time .000 21 stat .000 15 lseek .460 24944 getpid .000 15 kill .162 7664 […]

Getting VMWare tools to configure on Solaris 10 guests

I built out a Solaris 10 update 10 guest on a vSphere 4.1 machine this past week. When I went to configure VMWare tools I received the following error: $ /usr/bin/ Initializing… Stopping VMware Tools services in the virtual machine: Guest operating system daemon: done Guest memory manager: done Unable to create symlink “/mnt/hgfs” pointing […]

Ridding your Solaris host of zombie processes

We encountered a nasty bug in our backup software this week. When this bug is triggered, each job (one process is created per job) that completes will turn into a zombie. After a few days we will have hundreds or even thousands of zombie processes, which if left unchecked will eventually lead to the system-side […]

Solaris reporting multiple devices sharing IRQ assignments

One of my co-workers this week was fighting disk failure on a Solaris 10 x86 host.  I was checking /var/adm/messages and came across something interesting. Apr 11 03:29:21 nge: [ID 801725] NOTICE: nge1: Using FIXED interrupt type Apr 11 03:29:21 unix: [ID 954099] NOTICE: IRQ20 is being shared by drivers with […]

Fixing Solaris hosts that boot to a grub> prompt

I applied the latest recommended patch bundle this week to two X4140 servers running Solaris 10. When I rebooted, I was greeted with a grub> prompt instead of the grub menu: grub> This wasn’t so good, and for some reason the stage1 / stage2 loaders weren’t installed correctly (or the zpool upgrade caused some issues). […]

Figuring out what a hung Solaris process is doing inside the kernel

I had a a process hang last week on one of my Solaris hosts, and was curious what each thread was doing. The mdb utility is perfect for locating this information, since you an combine pid2proc with the walk and findstack dcmds to get the call stack of each thread in a process (in the […]

« Older Entries