Skip to content

Instantly share code, notes, and snippets.

@jclulow
Created December 16, 2011 07:31
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save jclulow/1484969 to your computer and use it in GitHub Desktop.
Save jclulow/1484969 to your computer and use it in GitHub Desktop.
oddball ps behaviour

So, ps is running somewhat slowly...

asgard # time ps -ef | wc -l
     173

real    0m10.195s
user    0m0.023s
sys     0m9.779s

Further investigation suggests that it's slow only while trying to print lines for certain processes. Further, further investigation suggests that the processes which cause the epic slowdown appear with two question marks in the TTY column instead of only one. Thus:

slow:

asgard # time ps -fp 28507
     UID   PID  PPID   C    STIME TTY         TIME CMD
leftwing 28507 28504   0 12:39:37 ??          0:00 -bash

real    0m0.749s
user    0m0.003s
sys     0m0.720s

fast:

asgard # time ps -fp 2433
     UID   PID  PPID   C    STIME TTY         TIME CMD
  daemon  2433     1   0   Dec 08 ?           0:03 /usr/lib/nfs/nfsmapid

real    0m0.009s
user    0m0.002s
sys     0m0.007s

what are we doing when we're slow...


asgard # dtrace -qn 'syscall:::entry { @[probefunc] = count(); }' -c "ps -fp 28507"
     UID   PID  PPID   C    STIME TTY         TIME CMD
leftwing 28507 28504   0 12:39:37 ??          0:00 -bash


  lwp_exit                                                          1
  sigsuspend                                                        1
  writev                                                            1
  getpeername                                                       2
  getsockname                                                       2
  mprotect                                                          2
  pipe                                                              2
  pwrite                                                            2
  recv                                                              2
  semsys                                                            2
  send                                                              2
  access                                                            3
  accept                                                            4
  forksys                                                           4
  getgid                                                            4
  getsockopt                                                        4
  open64                                                            4
  setpgrp                                                           4
  sigpending                                                        4
  sigprocmask                                                       4
  umask                                                             4
  rexit                                                             5
  sysi86                                                            5
  setsockopt                                                        6
  exece                                                             7
  readv                                                             7
  getrlimit                                                         8
  schedctl                                                          8
  connect                                                          10
  systeminfo                                                       10
  priocntlsys                                                      12
  so_socket                                                        12
  munmap                                                           13
  readlink                                                         16
  waitsys                                                          16
  getuid                                                           19
  lstat                                                            21
  setcontext                                                       21
  llseek                                                           25
  lwp_park                                                         26
  sysconfig                                                        29
  lseek                                                            30
  sigaction                                                        30
  portfs                                                           32
  pollsys                                                          33
  doorfs                                                           45
  write                                                            48
  getpid                                                           49
  lwp_sigmask                                                      62
  openat                                                           63
  fstat64                                                          66
  nanosleep                                                        71
  sigwait                                                          76
  mmapobj                                                          77
  memcntl                                                          85
  read                                                             88
  clock_gettime                                                    98
  mmap                                                            105
  resolvepath                                                     107
  fcntl                                                           118
  brk                                                             126
  getdents                                                        126
  stat64                                                          130
  fstat                                                           181
  gtime                                                           183
  pread                                                           185
  open                                                            199
  p_online                                                        256
  close                                                           266
  ioctl                                                           755
  stat                                                            921

and when we're fast:


asgard # dtrace -qn 'syscall:::entry { @[probefunc] = count(); }' -c "ps -fp 2433"
     UID   PID  PPID   C    STIME TTY         TIME CMD
  daemon  2433     1   0   Dec 08 ?           0:03 /usr/lib/nfs/nfsmapid

  access                                                            1
  exece                                                             1
  fcntl                                                             1
  lwp_exit                                                          1
  mmapobj                                                           1
  rexit                                                             1
  sysi86                                                            1
  fstat64                                                           2
  getrlimit                                                         2
  mprotect                                                          2
  pwrite                                                            2
  systeminfo                                                        2
  doorfs                                                            3
  getpid                                                            3
  getuid                                                            3
  llseek                                                            3
  lwp_park                                                          3
  memcntl                                                           3
  setcontext                                                        4
  sigaction                                                         4
  munmap                                                            5
  pollsys                                                           5
  sigwait                                                           5
  sysconfig                                                         5
  lseek                                                             6
  readlink                                                         14
  resolvepath                                                      17
  mmap                                                             18
  lstat                                                            19
  stat                                                             19
  brk                                                              20
  gtime                                                            22
  read                                                             22
  lwp_sigmask                                                      25
  fstat                                                            27
  close                                                            32
  open                                                             36
  write                                                            38
  pread                                                           185
  p_online                                                        256
  ioctl                                                           291

So, clearly there are some additional stat()s going on when we're slow:

asgard # dtrace -qn 'syscall::stat:entry { @[ustack()] = count(); }' -c "ps -fp 28507" 
     UID   PID  PPID   C    STIME TTY         TIME CMD
leftwing 28507 28504   0 12:39:37 ??          0:00 -bash
...
 (snip)
...
              libc.so.1`_syscall6+0x1b
              libc.so.1`srch_dir+0x3db
              libc.so.1`srch_dir+0x4e0
              libc.so.1`srch_dir+0x4e0
              libc.so.1`_ttyname_common+0x2a2
              libc.so.1`_ttyname_dev+0x26
              ps`gettty+0x3d
              ps`prfind+0x4b
              ps`print_proc+0x27f
              ps`stdmain+0x1221
              ps`0x40317c
              239

              libc.so.1`_syscall6+0x1b
              libc.so.1`srch_dir+0x3db
              libc.so.1`_ttyname_common+0x2a2
              libc.so.1`_ttyname_dev+0x26
              ps`gettty+0x3d
              ps`prfind+0x4b
              ps`print_proc+0x27f
              ps`stdmain+0x1221
              ps`0x40317c
              247

              libc.so.1`_syscall6+0x1b
              libc.so.1`srch_dir+0x3db
              libc.so.1`srch_dir+0x4e0
              libc.so.1`_ttyname_common+0x2a2
              libc.so.1`_ttyname_dev+0x26
              ps`gettty+0x3d
              ps`prfind+0x4b
              ps`print_proc+0x27f
              ps`stdmain+0x1221
              ps`0x40317c
              264

So now that I look at it, all of the slow/double question mark processes are processes that do have ttys and also happen to live in non-global zones....

asgard # time ps -z global | wc -l
      79

real    0m0.017s
user    0m0.005s
sys     0m0.018s
asgard # time ps -z tutor | wc -l
      68

real    0m10.222s
user    0m0.021s
sys     0m9.810s

looking into ps.c... it looks like if a process is identified as having a pty, we'll go and look up the number of that pty by searching for the appropriate device nodes in places listed in /etc/ttysrch. On my box, that file contains:

/dev/pts
/dev/vt
/dev/term
/dev/zcons

As we don't find it there, we do an exhaustive search (hence all the stat() through /dev), decide we can't find the pty, give up and return "?", which is then displayed as the second ? in the TTY column.

If run from within the zone, ps is able to see the device nodes in the in-zone /dev/pts and everything works fine.

FURTHER!

richlowe suggests that walking /dev/zvol is probably the issue. Aggregating on what paths are being stat()ed for a ps of the zone 'tutor' ...

asgard # dtrace -q -n 'syscall::stat:entry /pid == $target/ { self->file = arg0; }' -n 'syscall::stat:return /pid == $target/ { @[copyinstr(self->file)] = count(); }' -c "ps -fz tutor" 
...
  (snip)
...
  /dev/pts/1                                                        1
  /dev/pts/11                                                       1
  /dev/pts/12                                                       1
  /dev/pts/13                                                       1
  /dev/pts/14                                                       1
  /dev/pts/15                                                       1
  /dev/pts/16                                                       1
  /dev/pts/17                                                       1
  /dev/pts/20                                                       1
  /dev/pts/21                                                       1
  /dev/pts/3                                                        1
  /dev/pts/4                                                        1
  /dev/pts/6                                                        1
  /dev/pts/7                                                        1
  /dev/pts/8                                                        1
  /lib/64/libc.so.1                                                 1
  /lib/64/libm.so.2                                                 1
  /lib/64/libnsl.so.1                                               1
  /lib/64/libpthread.so.1                                           1
  /lib/64/libsocket.so.1                                            1
  /lib/64/libxml2.so.2                                              1
  /lib/64/libz.so.1                                                 1
  /lib/64/libzonecfg.so.1                                           1
  /usr/bin/amd64/ps                                                 1
  /usr/lib/64/libzonecfg.so.1                                       1
  /dev/agpgart                                                     14
  /dev/allkmem                                                     14
  /dev/arp                                                         14
  /dev/bge                                                         14
  /dev/bge0                                                        14
  /dev/bl                                                          14
  /dev/bpf                                                         14
  /dev/bridgectl                                                   14
  /dev/cfg                                                         14
  /dev/cfg/sata0                                                   14
  /dev/cfg/sata0/0                                                 14
  /dev/cfg/sata1                                                   14
  /dev/cfg/sata1/0                                                 14
  /dev/cfg/sata1/1                                                 14
  /dev/cfg/sata1/2                                                 14
  /dev/cfg/sata1/3                                                 14
  /dev/cfg/usb0                                                    14
  /dev/cfg/usb0/1                                                  14
  /dev/cfg/usb0/2                                                  14
  /dev/cfg/usb0/3                                                  14
  /dev/cfg/usb0/4                                                  14
  /dev/cfg/usb0/5                                                  14
  /dev/cfg/usb0/6                                                  14
  /dev/cfg/usb0/7                                                  14
  /dev/cfg/usb0/8                                                  14
  /dev/cfg/usb1                                                    14
  /dev/cfg/usb1/1                                                  14
  /dev/cfg/usb1/2                                                  14
  /dev/cfg/usb1/3                                                  14
  /dev/cfg/usb1/4                                                  14
  /dev/cfg/usb1/5                                                  14
  /dev/cfg/usb1/6                                                  14
  /dev/cfg/usb1/7                                                  14
  /dev/cfg/usb1/8                                                  14
  /dev/cfg/usb2                                                    14
  /dev/cfg/usb2/1                                                  14
  /dev/cfg/usb2/2                                                  14
  /dev/cfg/usb2/3                                                  14
  /dev/cfg/usb2/3.1                                                14
  /dev/cfg/usb2/3.2                                                14
  /dev/cfg/usb2/3.3                                                14
  /dev/cfg/usb2/3.4                                                14
  /dev/cfg/usb2/4                                                  14
  /dev/cfg/usb2/5                                                  14
  /dev/cfg/usb2/5.1                                                14
  /dev/cfg/usb2/5.2                                                14
  /dev/cfg/usb2/5.3                                                14
  /dev/cfg/usb2/5.4                                                14
  /dev/cfg/usb3                                                    14
  /dev/cfg/usb3/1                                                  14
  /dev/cfg/usb3/2                                                  14
  /dev/cfg/usb3/3                                                  14
  /dev/cfg/usb3/4                                                  14
  /dev/cfg/usb3/5                                                  14
  /dev/cfg/usb4                                                    14
  /dev/cfg/usb4/1                                                  14
  /dev/cfg/usb4/2                                                  14
  /dev/cfg/usb4/3                                                  14
  /dev/cfg/usb4/4                                                  14
  /dev/cfg/usb4/5                                                  14
  /dev/cfg/usb5                                                    14
  /dev/cfg/usb5/1                                                  14
  /dev/cfg/usb5/2                                                  14
  /dev/cfg/usb5/3                                                  14
  /dev/cfg/usb5/4                                                  14
  /dev/cfg/usb5/5                                                  14
  /dev/cfg/usb6                                                    14
  /dev/cfg/usb6/1                                                  14
  /dev/cfg/usb6/2                                                  14
  /dev/cfg/usb6/3                                                  14
  /dev/cfg/usb6/4                                                  14
  /dev/cfg/usb7                                                    14
  /dev/cfg/usb7/1                                                  14
  /dev/cfg/usb7/2                                                  14
  /dev/cfg/usb7/3                                                  14
  /dev/cfg/usb7/4                                                  14
  /dev/cpu                                                         14
  /dev/cpu/self                                                    14
  /dev/cpu/self/cpuid                                              14
  /dev/crypto                                                      14
  /dev/cryptoadm                                                   14
  /dev/dld                                                         14
  /dev/dsk                                                         14
  /dev/dsk/c2d1p0                                                  14
  /dev/dsk/c2d1p1                                                  14
  /dev/dsk/c2d1p2                                                  14
  /dev/dsk/c2d1p3                                                  14
  /dev/dsk/c2d1p4                                                  14
  /dev/dsk/c2d1s0                                                  14
  /dev/dsk/c2d1s1                                                  14
  /dev/dsk/c2d1s10                                                 14
  /dev/dsk/c2d1s11                                                 14
  /dev/dsk/c2d1s12                                                 14
  /dev/dsk/c2d1s13                                                 14
  /dev/dsk/c2d1s14                                                 14
  /dev/dsk/c2d1s15                                                 14
  /dev/dsk/c2d1s2                                                  14
  /dev/dsk/c2d1s3                                                  14
  /dev/dsk/c2d1s4                                                  14
  /dev/dsk/c2d1s5                                                  14
  /dev/dsk/c2d1s6                                                  14
  /dev/dsk/c2d1s7                                                  14
  /dev/dsk/c2d1s8                                                  14
  /dev/dsk/c2d1s9                                                  14
  /dev/dsk/c3t0d0                                                  14
  /dev/dsk/c3t0d0p0                                                14
  /dev/dsk/c3t0d0p1                                                14
  /dev/dsk/c3t0d0p2                                                14
  /dev/dsk/c3t0d0p3                                                14
  /dev/dsk/c3t0d0p4                                                14
  /dev/dsk/c3t0d0s0                                                14
  /dev/dsk/c3t0d0s1                                                14
  /dev/dsk/c3t0d0s10                                               14
  /dev/dsk/c3t0d0s11                                               14
  /dev/dsk/c3t0d0s12                                               14
  /dev/dsk/c3t0d0s13                                               14
  /dev/dsk/c3t0d0s14                                               14
  /dev/dsk/c3t0d0s15                                               14
  /dev/dsk/c3t0d0s2                                                14
  /dev/dsk/c3t0d0s3                                                14
  /dev/dsk/c3t0d0s4                                                14
  /dev/dsk/c3t0d0s5                                                14
  /dev/dsk/c3t0d0s6                                                14
  /dev/dsk/c3t0d0s8                                                14
  /dev/dsk/c3t0d0s9                                                14
  /dev/dsk/c3t1d0                                                  14
  /dev/dsk/c3t1d0p0                                                14
  /dev/dsk/c3t1d0p1                                                14
  /dev/dsk/c3t1d0p2                                                14
  /dev/dsk/c3t1d0p3                                                14
  /dev/dsk/c3t1d0p4                                                14
  /dev/dsk/c3t1d0s0                                                14
  /dev/dsk/c3t1d0s1                                                14
  /dev/dsk/c3t1d0s10                                               14
  /dev/dsk/c3t1d0s11                                               14
  /dev/dsk/c3t1d0s12                                               14
  /dev/dsk/c3t1d0s13                                               14
  /dev/dsk/c3t1d0s14                                               14
  /dev/dsk/c3t1d0s15                                               14
  /dev/dsk/c3t1d0s2                                                14
  /dev/dsk/c3t1d0s3                                                14
  /dev/dsk/c3t1d0s4                                                14
  /dev/dsk/c3t1d0s5                                                14
  /dev/dsk/c3t1d0s6                                                14
  /dev/dsk/c3t1d0s8                                                14
  /dev/dsk/c3t1d0s9                                                14
  /dev/dsk/c3t2d0                                                  14
  /dev/dsk/c3t2d0p0                                                14
  /dev/dsk/c3t2d0p1                                                14
  /dev/dsk/c3t2d0p2                                                14
  /dev/dsk/c3t2d0p3                                                14
  /dev/dsk/c3t2d0p4                                                14
  /dev/dsk/c3t2d0s0                                                14
  /dev/dsk/c3t2d0s1                                                14
  /dev/dsk/c3t2d0s10                                               14
  /dev/dsk/c3t2d0s11                                               14
  /dev/dsk/c3t2d0s12                                               14
  /dev/dsk/c3t2d0s13                                               14
  /dev/dsk/c3t2d0s14                                               14
  /dev/dsk/c3t2d0s15                                               14
  /dev/dsk/c3t2d0s2                                                14
  /dev/dsk/c3t2d0s3                                                14
  /dev/dsk/c3t2d0s4                                                14
  /dev/dsk/c3t2d0s5                                                14
  /dev/dsk/c3t2d0s6                                                14
  /dev/dsk/c3t2d0s8                                                14
  /dev/dsk/c3t2d0s9                                                14
  /dev/dsk/c3t3d0                                                  14
  /dev/dsk/c3t3d0p0                                                14
  /dev/dsk/c3t3d0p1                                                14
  /dev/dsk/c3t3d0p2                                                14
  /dev/dsk/c3t3d0p3                                                14
  /dev/dsk/c3t3d0p4                                                14
  /dev/dsk/c3t3d0s0                                                14
  /dev/dsk/c3t3d0s1                                                14
  /dev/dsk/c3t3d0s10                                               14
  /dev/dsk/c3t3d0s11                                               14
  /dev/dsk/c3t3d0s12                                               14
  /dev/dsk/c3t3d0s13                                               14
  /dev/dsk/c3t3d0s14                                               14
  /dev/dsk/c3t3d0s15                                               14
  /dev/dsk/c3t3d0s2                                                14
  /dev/dsk/c3t3d0s3                                                14
  /dev/dsk/c3t3d0s4                                                14
  /dev/dsk/c3t3d0s5                                                14
  /dev/dsk/c3t3d0s6                                                14
  /dev/dsk/c3t3d0s8                                                14
  /dev/dsk/c3t3d0s9                                                14
  /dev/dtrace                                                      14
  /dev/dtrace/dtrace                                               14
  /dev/dtrace/helper                                               14
  /dev/dtrace/provider                                             14
  /dev/dtrace/provider/dcpc                                        14
  /dev/dtrace/provider/fasttrap                                    14
  /dev/dtrace/provider/fbt                                         14
  /dev/dtrace/provider/lockstat                                    14
  /dev/dtrace/provider/profile                                     14
  /dev/dtrace/provider/sdt                                         14
  /dev/dtrace/provider/systrace                                    14
  /dev/dump                                                        14
  /dev/e1000g                                                      14
  /dev/e1000g0                                                     14
  /dev/fb                                                          14
  /dev/fb0                                                         14
  /dev/fbs                                                         14
  /dev/fbs/text-0                                                  14
  /dev/fd                                                          14
  /dev/fd/0                                                        14
  /dev/fd/1                                                        14
  /dev/fd/10                                                       14
  /dev/fd/11                                                       14
  /dev/fd/12                                                       14
  /dev/fd/13                                                       14
  /dev/fd/14                                                       14
  /dev/fd/2                                                        14
  /dev/fd/3                                                        14
  /dev/fd/4                                                        14
  /dev/fd/5                                                        14
  /dev/fd/6                                                        14
  /dev/fd/7                                                        14
  /dev/fd/8                                                        14
  /dev/fd/9                                                        14
  /dev/fm                                                          14
  /dev/fssnapctl                                                   14
  /dev/hotpluggable                                                14
  /dev/hotpluggable/dsk                                            14
  /dev/hotpluggable/dsk/c0t0d0                                     14
  /dev/hotpluggable/dsk/c0t0d0p0                                   14
  /dev/hotpluggable/dsk/c0t0d0p1                                   14
  /dev/hotpluggable/dsk/c0t0d0p2                                   14
  /dev/hotpluggable/dsk/c0t0d0p3                                   14
  /dev/hotpluggable/dsk/c0t0d0p4                                   14
  /dev/hotpluggable/dsk/c0t0d0s0                                   14
  /dev/hotpluggable/dsk/c0t0d0s1                                   14
  /dev/hotpluggable/dsk/c0t0d0s10                                  14
  /dev/hotpluggable/dsk/c0t0d0s11                                  14
  /dev/hotpluggable/dsk/c0t0d0s12                                  14
  /dev/hotpluggable/dsk/c0t0d0s13                                  14
  /dev/hotpluggable/dsk/c0t0d0s14                                  14
  /dev/hotpluggable/dsk/c0t0d0s15                                  14
  /dev/hotpluggable/dsk/c0t0d0s2                                   14
  /dev/hotpluggable/dsk/c0t0d0s3                                   14
  /dev/hotpluggable/dsk/c0t0d0s4                                   14
  /dev/hotpluggable/dsk/c0t0d0s5                                   14
  /dev/hotpluggable/dsk/c0t0d0s6                                   14
  /dev/hotpluggable/dsk/c0t0d0s8                                   14
  /dev/hotpluggable/dsk/c0t0d0s9                                   14
  /dev/hotpluggable/dsk/c1t0d0                                     14
  /dev/hotpluggable/dsk/c1t0d0p0                                   14
  /dev/hotpluggable/dsk/c1t0d0p1                                   14
  /dev/hotpluggable/dsk/c1t0d0p2                                   14
  /dev/hotpluggable/dsk/c1t0d0p3                                   14
  /dev/hotpluggable/dsk/c1t0d0p4                                   14
  /dev/hotpluggable/dsk/c1t0d0s0                                   14
  /dev/hotpluggable/dsk/c1t0d0s1                                   14
  /dev/hotpluggable/dsk/c1t0d0s10                                  14
  /dev/hotpluggable/dsk/c1t0d0s11                                  14
  /dev/hotpluggable/dsk/c1t0d0s12                                  14
  /dev/hotpluggable/dsk/c1t0d0s13                                  14
  /dev/hotpluggable/dsk/c1t0d0s14                                  14
  /dev/hotpluggable/dsk/c1t0d0s15                                  14
  /dev/hotpluggable/dsk/c1t0d0s2                                   14
  /dev/hotpluggable/dsk/c1t0d0s3                                   14
  /dev/hotpluggable/dsk/c1t0d0s4                                   14
  /dev/hotpluggable/dsk/c1t0d0s5                                   14
  /dev/hotpluggable/dsk/c1t0d0s6                                   14
  /dev/hotpluggable/dsk/c1t0d0s7                                   14
  /dev/hotpluggable/dsk/c1t0d0s8                                   14
  /dev/hotpluggable/dsk/c1t0d0s9                                   14
  /dev/hotpluggable/dsk/c4t0d0p0                                   14
  /dev/hotpluggable/dsk/c4t0d0p1                                   14
  /dev/hotpluggable/dsk/c4t0d0p2                                   14
  /dev/hotpluggable/dsk/c4t0d0p3                                   14
  /dev/hotpluggable/dsk/c4t0d0p4                                   14
  /dev/hotpluggable/dsk/c4t0d0s0                                   14
  /dev/hotpluggable/dsk/c4t0d0s1                                   14
  /dev/hotpluggable/dsk/c4t0d0s10                                  14
  /dev/hotpluggable/dsk/c4t0d0s11                                  14
  /dev/hotpluggable/dsk/c4t0d0s12                                  14
  /dev/hotpluggable/dsk/c4t0d0s13                                  14
  /dev/hotpluggable/dsk/c4t0d0s14                                  14
  /dev/hotpluggable/dsk/c4t0d0s15                                  14
  /dev/hotpluggable/dsk/c4t0d0s2                                   14
  /dev/hotpluggable/dsk/c4t0d0s3                                   14
  /dev/hotpluggable/dsk/c4t0d0s4                                   14
  /dev/hotpluggable/dsk/c4t0d0s5                                   14
  /dev/hotpluggable/dsk/c4t0d0s6                                   14
  /dev/hotpluggable/dsk/c4t0d0s7                                   14
  /dev/hotpluggable/dsk/c4t0d0s8                                   14
  /dev/hotpluggable/dsk/c4t0d0s9                                   14
  /dev/hotpluggable/rdsk                                           14
  /dev/hotpluggable/rdsk/c0t0d0                                    14
  /dev/hotpluggable/rdsk/c0t0d0p0                                  14
  /dev/hotpluggable/rdsk/c0t0d0p1                                  14
  /dev/hotpluggable/rdsk/c0t0d0p2                                  14
  /dev/hotpluggable/rdsk/c0t0d0p3                                  14
  /dev/hotpluggable/rdsk/c0t0d0p4                                  14
  /dev/hotpluggable/rdsk/c0t0d0s0                                  14
  /dev/hotpluggable/rdsk/c0t0d0s1                                  14
  /dev/hotpluggable/rdsk/c0t0d0s10                                 14
  /dev/hotpluggable/rdsk/c0t0d0s11                                 14
  /dev/hotpluggable/rdsk/c0t0d0s12                                 14
  /dev/hotpluggable/rdsk/c0t0d0s13                                 14
  /dev/hotpluggable/rdsk/c0t0d0s14                                 14
  /dev/hotpluggable/rdsk/c0t0d0s15                                 14
  /dev/hotpluggable/rdsk/c0t0d0s2                                  14
  /dev/hotpluggable/rdsk/c0t0d0s3                                  14
  /dev/hotpluggable/rdsk/c0t0d0s4                                  14
  /dev/hotpluggable/rdsk/c0t0d0s5                                  14
  /dev/hotpluggable/rdsk/c0t0d0s6                                  14
  /dev/hotpluggable/rdsk/c0t0d0s8                                  14
  /dev/hotpluggable/rdsk/c0t0d0s9                                  14
  /dev/hotpluggable/rdsk/c1t0d0                                    14
  /dev/hotpluggable/rdsk/c1t0d0p0                                  14
  /dev/hotpluggable/rdsk/c1t0d0p1                                  14
  /dev/hotpluggable/rdsk/c1t0d0p2                                  14
  /dev/hotpluggable/rdsk/c1t0d0p3                                  14
  /dev/hotpluggable/rdsk/c1t0d0p4                                  14
  /dev/hotpluggable/rdsk/c1t0d0s0                                  14
  /dev/hotpluggable/rdsk/c1t0d0s1                                  14
  /dev/hotpluggable/rdsk/c1t0d0s10                                 14
  /dev/hotpluggable/rdsk/c1t0d0s11                                 14
  /dev/hotpluggable/rdsk/c1t0d0s12                                 14
  /dev/hotpluggable/rdsk/c1t0d0s13                                 14
  /dev/hotpluggable/rdsk/c1t0d0s14                                 14
  /dev/hotpluggable/rdsk/c1t0d0s15                                 14
  /dev/hotpluggable/rdsk/c1t0d0s2                                  14
  /dev/hotpluggable/rdsk/c1t0d0s3                                  14
  /dev/hotpluggable/rdsk/c1t0d0s4                                  14
  /dev/hotpluggable/rdsk/c1t0d0s5                                  14
  /dev/hotpluggable/rdsk/c1t0d0s6                                  14
  /dev/hotpluggable/rdsk/c1t0d0s7                                  14
  /dev/hotpluggable/rdsk/c1t0d0s8                                  14
  /dev/hotpluggable/rdsk/c1t0d0s9                                  14
  /dev/hotpluggable/rdsk/c4t0d0p0                                  14
  /dev/hotpluggable/rdsk/c4t0d0p1                                  14
  /dev/hotpluggable/rdsk/c4t0d0p2                                  14
  /dev/hotpluggable/rdsk/c4t0d0p3                                  14
  /dev/hotpluggable/rdsk/c4t0d0p4                                  14
  /dev/hotpluggable/rdsk/c4t0d0s0                                  14
  /dev/hotpluggable/rdsk/c4t0d0s1                                  14
  /dev/hotpluggable/rdsk/c4t0d0s10                                 14
  /dev/hotpluggable/rdsk/c4t0d0s11                                 14
  /dev/hotpluggable/rdsk/c4t0d0s12                                 14
  /dev/hotpluggable/rdsk/c4t0d0s13                                 14
  /dev/hotpluggable/rdsk/c4t0d0s14                                 14
  /dev/hotpluggable/rdsk/c4t0d0s15                                 14
  /dev/hotpluggable/rdsk/c4t0d0s2                                  14
  /dev/hotpluggable/rdsk/c4t0d0s3                                  14
  /dev/hotpluggable/rdsk/c4t0d0s4                                  14
  /dev/hotpluggable/rdsk/c4t0d0s5                                  14
  /dev/hotpluggable/rdsk/c4t0d0s6                                  14
  /dev/hotpluggable/rdsk/c4t0d0s7                                  14
  /dev/hotpluggable/rdsk/c4t0d0s8                                  14
  /dev/hotpluggable/rdsk/c4t0d0s9                                  14
  /dev/icmp                                                        14
  /dev/icmp6                                                       14
  /dev/ip                                                          14
  /dev/ip6                                                         14
  /dev/ipauth                                                      14
  /dev/ipf                                                         14
  /dev/ipl                                                         14
  /dev/iplookup                                                    14
  /dev/ipmpstub                                                    14
  /dev/ipnat                                                       14
  /dev/ipnet                                                       14
  /dev/ipnet/bge0                                                  14
  /dev/ipnet/lo0                                                   14
  /dev/ipnet/vboxnet0                                              14
  /dev/ipscan                                                      14
  /dev/ipsecah                                                     14
  /dev/ipsecesp                                                    14
  /dev/ipstate                                                     14
  /dev/ipsync                                                      14
  /dev/kbd                                                         14
  /dev/keysock                                                     14
  /dev/kmdb                                                        14
  /dev/kmem                                                        14
  /dev/kssl                                                        14
  /dev/kstat                                                       14
  /dev/ksyms                                                       14
  /dev/llc1                                                        14
  /dev/llc2                                                        14
  /dev/lo0                                                         14
  /dev/lockstat                                                    14
  /dev/lofi                                                        14
  /dev/lofictl                                                     14
  /dev/log                                                         14
  /dev/logindmux                                                   14
  /dev/md                                                          14
  /dev/md/admin                                                    14
  /dev/mem                                                         14
  /dev/mixer                                                       14
  /dev/mouse                                                       14
  /dev/ncall                                                       14
  /dev/net                                                         14
  /dev/net/bge0                                                    14
  /dev/net/tutor.nic0                                              14
  /dev/net/vboxnet0                                                14
  /dev/net/web0.nic0                                               14
  /dev/nsctl                                                       14
  /dev/nsmb                                                        14
  /dev/null                                                        14
  /dev/nvidia0                                                     14
  /dev/nvidia1                                                     14
  /dev/nvidia10                                                    14
  /dev/nvidia11                                                    14
  /dev/nvidia12                                                    14
  /dev/nvidia13                                                    14
  /dev/nvidia14                                                    14
  /dev/nvidia15                                                    14
  /dev/nvidia2                                                     14
  /dev/nvidia3                                                     14
  /dev/nvidia4                                                     14
  /dev/nvidia5                                                     14
  /dev/nvidia6                                                     14
  /dev/nvidia7                                                     14
  /dev/nvidia8                                                     14
  /dev/nvidia9                                                     14
  /dev/nvidiactl                                                   14
  /dev/openprom                                                    14
  /dev/physmem                                                     14
  /dev/pm                                                          14
  /dev/poll                                                        14
  /dev/pool                                                        14
  /dev/poolctl                                                     14
  /dev/power_button                                                14
  /dev/ppm                                                         14
  /dev/ptmajor                                                     14
  /dev/pts                                                         14
  /dev/ptyp1                                                       14
  /dev/ptyp2                                                       14
  /dev/ptyp3                                                       14
  /dev/ptyp4                                                       14
  /dev/ptyp5                                                       14
  /dev/ptyp6                                                       14
  /dev/ptyp7                                                       14
  /dev/ptyp8                                                       14
  /dev/ptyp9                                                       14
  /dev/ptypa                                                       14
  /dev/ptypb                                                       14
  /dev/ptypc                                                       14
  /dev/ptypd                                                       14
  /dev/ptype                                                       14
  /dev/ptypf                                                       14
  /dev/ptyq0                                                       14
  /dev/ptyq1                                                       14
  /dev/ptyq2                                                       14
  /dev/ptyq3                                                       14
  /dev/ptyq4                                                       14
  /dev/ptyq5                                                       14
  /dev/ptyq6                                                       14
  /dev/ptyq7                                                       14
  /dev/ptyq8                                                       14
  /dev/ptyq9                                                       14
  /dev/ptyqa                                                       14
  /dev/ptyqb                                                       14
  /dev/ptyqc                                                       14
  /dev/ptyqd                                                       14
  /dev/ptyqe                                                       14
  /dev/ptyqf                                                       14
  /dev/ptyr0                                                       14
  /dev/ptyr1                                                       14
  /dev/ptyr2                                                       14
  /dev/ptyr3                                                       14
  /dev/ptyr4                                                       14
  /dev/ptyr5                                                       14
  /dev/ptyr6                                                       14
  /dev/ptyr7                                                       14
  /dev/ptyr8                                                       14
  /dev/ptyr9                                                       14
  /dev/ptyra                                                       14
  /dev/ptyrb                                                       14
  /dev/ptyrc                                                       14
  /dev/ptyrd                                                       14
  /dev/ptyre                                                       14
  /dev/ptyrf                                                       14
  /dev/ramdiskctl                                                  14
  /dev/random                                                      14
  /dev/rawip                                                       14
  /dev/rawip6                                                      14
  /dev/rdsk                                                        14
  /dev/rdsk/c2d1p0                                                 14
  /dev/rdsk/c2d1p1                                                 14
  /dev/rdsk/c2d1p2                                                 14
  /dev/rdsk/c2d1p3                                                 14
  /dev/rdsk/c2d1p4                                                 14
  /dev/rdsk/c2d1s0                                                 14
  /dev/rdsk/c2d1s1                                                 14
  /dev/rdsk/c2d1s10                                                14
  /dev/rdsk/c2d1s11                                                14
  /dev/rdsk/c2d1s12                                                14
  /dev/rdsk/c2d1s13                                                14
  /dev/rdsk/c2d1s14                                                14
  /dev/rdsk/c2d1s15                                                14
  /dev/rdsk/c2d1s2                                                 14
  /dev/rdsk/c2d1s3                                                 14
  /dev/rdsk/c2d1s4                                                 14
  /dev/rdsk/c2d1s5                                                 14
  /dev/rdsk/c2d1s6                                                 14
  /dev/rdsk/c2d1s7                                                 14
  /dev/rdsk/c2d1s8                                                 14
  /dev/rdsk/c2d1s9                                                 14
  /dev/rdsk/c3t0d0                                                 14
  /dev/rdsk/c3t0d0p0                                               14
  /dev/rdsk/c3t0d0p1                                               14
  /dev/rdsk/c3t0d0p2                                               14
  /dev/rdsk/c3t0d0p3                                               14
  /dev/rdsk/c3t0d0p4                                               14
  /dev/rdsk/c3t0d0s0                                               14
  /dev/rdsk/c3t0d0s1                                               14
  /dev/rdsk/c3t0d0s10                                              14
  /dev/rdsk/c3t0d0s11                                              14
  /dev/rdsk/c3t0d0s12                                              14
  /dev/rdsk/c3t0d0s13                                              14
  /dev/rdsk/c3t0d0s14                                              14
  /dev/rdsk/c3t0d0s15                                              14
  /dev/rdsk/c3t0d0s2                                               14
  /dev/rdsk/c3t0d0s3                                               14
  /dev/rdsk/c3t0d0s4                                               14
  /dev/rdsk/c3t0d0s5                                               14
  /dev/rdsk/c3t0d0s6                                               14
  /dev/rdsk/c3t0d0s8                                               14
  /dev/rdsk/c3t0d0s9                                               14
  /dev/rdsk/c3t1d0                                                 14
  /dev/rdsk/c3t1d0p0                                               14
  /dev/rdsk/c3t1d0p1                                               14
  /dev/rdsk/c3t1d0p2                                               14
  /dev/rdsk/c3t1d0p3                                               14
  /dev/rdsk/c3t1d0p4                                               14
  /dev/rdsk/c3t1d0s0                                               14
  /dev/rdsk/c3t1d0s1                                               14
  /dev/rdsk/c3t1d0s10                                              14
  /dev/rdsk/c3t1d0s11                                              14
  /dev/rdsk/c3t1d0s12                                              14
  /dev/rdsk/c3t1d0s13                                              14
  /dev/rdsk/c3t1d0s14                                              14
  /dev/rdsk/c3t1d0s15                                              14
  /dev/rdsk/c3t1d0s2                                               14
  /dev/rdsk/c3t1d0s3                                               14
  /dev/rdsk/c3t1d0s4                                               14
  /dev/rdsk/c3t1d0s5                                               14
  /dev/rdsk/c3t1d0s6                                               14
  /dev/rdsk/c3t1d0s8                                               14
  /dev/rdsk/c3t1d0s9                                               14
  /dev/rdsk/c3t2d0                                                 14
  /dev/rdsk/c3t2d0p0                                               14
  /dev/rdsk/c3t2d0p1                                               14
  /dev/rdsk/c3t2d0p2                                               14
  /dev/rdsk/c3t2d0p3                                               14
  /dev/rdsk/c3t2d0p4                                               14
  /dev/rdsk/c3t2d0s0                                               14
  /dev/rdsk/c3t2d0s1                                               14
  /dev/rdsk/c3t2d0s10                                              14
  /dev/rdsk/c3t2d0s11                                              14
  /dev/rdsk/c3t2d0s12                                              14
  /dev/rdsk/c3t2d0s13                                              14
  /dev/rdsk/c3t2d0s14                                              14
  /dev/rdsk/c3t2d0s15                                              14
  /dev/rdsk/c3t2d0s2                                               14
  /dev/rdsk/c3t2d0s3                                               14
  /dev/rdsk/c3t2d0s4                                               14
  /dev/rdsk/c3t2d0s5                                               14
  /dev/rdsk/c3t2d0s6                                               14
  /dev/rdsk/c3t2d0s8                                               14
  /dev/rdsk/c3t2d0s9                                               14
  /dev/rdsk/c3t3d0                                                 14
  /dev/rdsk/c3t3d0p0                                               14
  /dev/rdsk/c3t3d0p1                                               14
  /dev/rdsk/c3t3d0p2                                               14
  /dev/rdsk/c3t3d0p3                                               14
  /dev/rdsk/c3t3d0p4                                               14
  /dev/rdsk/c3t3d0s0                                               14
  /dev/rdsk/c3t3d0s1                                               14
  /dev/rdsk/c3t3d0s10                                              14
  /dev/rdsk/c3t3d0s11                                              14
  /dev/rdsk/c3t3d0s12                                              14
  /dev/rdsk/c3t3d0s13                                              14
  /dev/rdsk/c3t3d0s14                                              14
  /dev/rdsk/c3t3d0s15                                              14
  /dev/rdsk/c3t3d0s2                                               14
  /dev/rdsk/c3t3d0s3                                               14
  /dev/rdsk/c3t3d0s4                                               14
  /dev/rdsk/c3t3d0s5                                               14
  /dev/rdsk/c3t3d0s6                                               14
  /dev/rdsk/c3t3d0s8                                               14
  /dev/rdsk/c3t3d0s9                                               14
  /dev/removable-media                                             14
  /dev/removable-media/dsk                                         14
  /dev/removable-media/dsk/c0t0d0p0                                14
  /dev/removable-media/dsk/c0t0d0p1                                14
  /dev/removable-media/dsk/c0t0d0p2                                14
  /dev/removable-media/dsk/c0t0d0p3                                14
  /dev/removable-media/dsk/c0t0d0p4                                14
  /dev/removable-media/dsk/c0t0d0s0                                14
  /dev/removable-media/dsk/c0t0d0s1                                14
  /dev/removable-media/dsk/c0t0d0s10                               14
  /dev/removable-media/dsk/c0t0d0s11                               14
  /dev/removable-media/dsk/c0t0d0s12                               14
  /dev/removable-media/dsk/c0t0d0s13                               14
  /dev/removable-media/dsk/c0t0d0s14                               14
  /dev/removable-media/dsk/c0t0d0s15                               14
  /dev/removable-media/dsk/c0t0d0s2                                14
  /dev/removable-media/dsk/c0t0d0s3                                14
  /dev/removable-media/dsk/c0t0d0s4                                14
  /dev/removable-media/dsk/c0t0d0s5                                14
  /dev/removable-media/dsk/c0t0d0s6                                14
  /dev/removable-media/dsk/c0t0d0s7                                14
  /dev/removable-media/dsk/c0t0d0s8                                14
  /dev/removable-media/dsk/c0t0d0s9                                14
  /dev/removable-media/rdsk                                        14
  /dev/removable-media/rdsk/c0t0d0p0                               14
  /dev/removable-media/rdsk/c0t0d0p1                               14
  /dev/removable-media/rdsk/c0t0d0p2                               14
  /dev/removable-media/rdsk/c0t0d0p3                               14
  /dev/removable-media/rdsk/c0t0d0p4                               14
  /dev/removable-media/rdsk/c0t0d0s0                               14
  /dev/removable-media/rdsk/c0t0d0s1                               14
  /dev/removable-media/rdsk/c0t0d0s10                              14
  /dev/removable-media/rdsk/c0t0d0s11                              14
  /dev/removable-media/rdsk/c0t0d0s12                              14
  /dev/removable-media/rdsk/c0t0d0s13                              14
  /dev/removable-media/rdsk/c0t0d0s14                              14
  /dev/removable-media/rdsk/c0t0d0s15                              14
  /dev/removable-media/rdsk/c0t0d0s2                               14
  /dev/removable-media/rdsk/c0t0d0s3                               14
  /dev/removable-media/rdsk/c0t0d0s4                               14
  /dev/removable-media/rdsk/c0t0d0s5                               14
  /dev/removable-media/rdsk/c0t0d0s6                               14
  /dev/removable-media/rdsk/c0t0d0s7                               14
  /dev/removable-media/rdsk/c0t0d0s8                               14
  /dev/removable-media/rdsk/c0t0d0s9                               14
  /dev/rlofi                                                       14
  /dev/rmt                                                         14
  /dev/rts                                                         14
  /dev/sad                                                         14
  /dev/sad/admin                                                   14
  /dev/sad/user                                                    14
  /dev/sdbc                                                        14
  /dev/sdp                                                         14
  /dev/smbios                                                      14
  /dev/smbsrv                                                      14
  /dev/sndstat                                                     14
  /dev/spdsock                                                     14
  /dev/sppp                                                        14
  /dev/sppptun                                                     14
  /dev/srn                                                         14
  /dev/stderr                                                      14
  /dev/stdin                                                       14
  /dev/stdout                                                      14
  /dev/sv                                                          14
  /dev/swap                                                        14
  /dev/syscon                                                      14
  /dev/sysevent                                                    14
  /dev/sysmsg                                                      14
  /dev/tcp                                                         14
  /dev/tcp6                                                        14
  /dev/term                                                        14
  /dev/ticlts                                                      14
  /dev/ticots                                                      14
  /dev/ticotsord                                                   14
  /dev/ttyp1                                                       14
  /dev/ttyp2                                                       14
  /dev/ttyp3                                                       14
  /dev/ttyp4                                                       14
  /dev/ttyp5                                                       14
  /dev/ttyp6                                                       14
  /dev/ttyp7                                                       14
  /dev/ttyp8                                                       14
  /dev/ttyp9                                                       14
  /dev/ttypa                                                       14
  /dev/ttypb                                                       14
  /dev/ttypc                                                       14
  /dev/ttypd                                                       14
  /dev/ttype                                                       14
  /dev/ttypf                                                       14
  /dev/ttyq0                                                       14
  /dev/ttyq1                                                       14
  /dev/ttyq2                                                       14
  /dev/ttyq3                                                       14
  /dev/ttyq4                                                       14
  /dev/ttyq5                                                       14
  /dev/ttyq6                                                       14
  /dev/ttyq7                                                       14
  /dev/ttyq8                                                       14
  /dev/ttyq9                                                       14
  /dev/ttyqa                                                       14
  /dev/ttyqb                                                       14
  /dev/ttyqc                                                       14
  /dev/ttyqd                                                       14
  /dev/ttyqe                                                       14
  /dev/ttyqf                                                       14
  /dev/ttyr0                                                       14
  /dev/ttyr1                                                       14
  /dev/ttyr2                                                       14
  /dev/ttyr3                                                       14
  /dev/ttyr4                                                       14
  /dev/ttyr5                                                       14
  /dev/ttyr6                                                       14
  /dev/ttyr7                                                       14
  /dev/ttyr8                                                       14
  /dev/ttyr9                                                       14
  /dev/ttyra                                                       14
  /dev/ttyrb                                                       14
  /dev/ttyrc                                                       14
  /dev/ttyrd                                                       14
  /dev/ttyre                                                       14
  /dev/ttyrf                                                       14
  /dev/ucode                                                       14
  /dev/udp                                                         14
  /dev/udp6                                                        14
  /dev/urandom                                                     14
  /dev/usb                                                         14
  /dev/usb/hid0                                                    14
  /dev/usb/hub0                                                    14
  /dev/usb/hub2                                                    14
  /dev/usb/hub3                                                    14
  /dev/usb/hub4                                                    14
  /dev/usb/hub5                                                    14
  /dev/usb/hub6                                                    14
  /dev/usb/hub7                                                    14
  /dev/vboxdrv                                                     14
  /dev/vboxflt                                                     14
  /dev/vboxnet                                                     14
  /dev/vboxnet0                                                    14
  /dev/vboxusbmon                                                  14
  /dev/vni                                                         14
  /dev/vt                                                          14
  /dev/vt00                                                        14
  /dev/winlock                                                     14
  /dev/xsvc                                                        14
  /dev/zcons                                                       14
  /dev/zcons/web0                                                  14
  /dev/zcons/web0/masterconsole                                    14
  /dev/zcons/web0/zoneconsole                                      14
  /dev/zero                                                        14
  /dev/zfs                                                         14
  /dev/zvol                                                        14
  /dev/zvol/dsk                                                    14
  /dev/zvol/dsk/data                                               14
  /dev/zvol/dsk/data/backup                                        14
  /dev/zvol/dsk/data/media                                         14
  /dev/zvol/dsk/data/sysmgr                                        14
  /dev/zvol/dsk/data/sysmgr/apps                                   14
  /dev/zvol/dsk/data/sysmgr/misc                                   14
  /dev/zvol/dsk/data/sysmgr/pkgbuild                               14
  /dev/zvol/dsk/data/tftpboot                                      14
  /dev/zvol/dsk/data/users                                         14
  /dev/zvol/dsk/data/users/andre                                   14
  /dev/zvol/dsk/data/users/ben                                     14
  /dev/zvol/dsk/data/users/leftwing                                14
  /dev/zvol/dsk/data/users/richlowe                                14
  /dev/zvol/dsk/data/zones                                         14
  /dev/zvol/dsk/data/zones/template0                               14
  /dev/zvol/dsk/data/zones/tutor                                   14
  /dev/zvol/dsk/data/zones/web0                                    14
  /dev/zvol/dsk/rpool                                              14
  /dev/zvol/dsk/rpool/ROOT                                         14
  /dev/zvol/dsk/rpool/ROOT/oi_148                                  14
  /dev/zvol/dsk/rpool/ROOT/oi_148b                                 14
  /dev/zvol/dsk/rpool/ROOT/oi_151a                                 14
  /dev/zvol/dsk/rpool/ROOT/openindiana                             14
  /dev/zvol/dsk/rpool/data_log                                     14
  /dev/zvol/dsk/rpool/data_log@ssd                                 14
  /dev/zvol/dsk/rpool/dump                                         14
  /dev/zvol/dsk/rpool/dump@ssd                                     14
  /dev/zvol/dsk/rpool/export                                       14
  /dev/zvol/dsk/rpool/export/home                                  14
  /dev/zvol/dsk/rpool/swap                                         14
  /dev/zvol/dsk/rpool/swap@ssd                                     14
  /dev/zvol/rdsk                                                   14
  /dev/zvol/rdsk/data                                              14
  /dev/zvol/rdsk/data/backup                                       14
  /dev/zvol/rdsk/data/media                                        14
  /dev/zvol/rdsk/data/sysmgr                                       14
  /dev/zvol/rdsk/data/sysmgr/apps                                  14
  /dev/zvol/rdsk/data/sysmgr/misc                                  14
  /dev/zvol/rdsk/data/sysmgr/pkgbuild                              14
  /dev/zvol/rdsk/data/tftpboot                                     14
  /dev/zvol/rdsk/data/users                                        14
  /dev/zvol/rdsk/data/users/andre                                  14
  /dev/zvol/rdsk/data/users/ben                                    14
  /dev/zvol/rdsk/data/users/leftwing                               14
  /dev/zvol/rdsk/data/users/richlowe                               14
  /dev/zvol/rdsk/data/zones                                        14
  /dev/zvol/rdsk/data/zones/template0                              14
  /dev/zvol/rdsk/data/zones/tutor                                  14
  /dev/zvol/rdsk/data/zones/web0                                   14
  /dev/zvol/rdsk/rpool                                             14
  /dev/zvol/rdsk/rpool/ROOT                                        14
  /dev/zvol/rdsk/rpool/ROOT/oi_148                                 14
  /dev/zvol/rdsk/rpool/ROOT/oi_148b                                14
  /dev/zvol/rdsk/rpool/ROOT/oi_151a                                14
  /dev/zvol/rdsk/rpool/ROOT/openindiana                            14
  /dev/zvol/rdsk/rpool/data_log                                    14
  /dev/zvol/rdsk/rpool/data_log@ssd                                14
  /dev/zvol/rdsk/rpool/dump                                        14
  /dev/zvol/rdsk/rpool/dump@ssd                                    14
  /dev/zvol/rdsk/rpool/export                                      14
  /dev/zvol/rdsk/rpool/export/home                                 14
  /dev/zvol/rdsk/rpool/swap                                        14
  /dev/zvol/rdsk/rpool/swap@ssd                                    14
  /dev/conslog                                                     15
  /dev/console                                                     15
  /dev/msglog                                                      15
  /dev/ptmx                                                        15
  /dev/ptyp0                                                       15
  /dev/systty                                                      15
  /dev/tty                                                         15
  /dev/ttyp0                                                       15
  /dev/vt/0                                                        15
  /dev/vt/1                                                        15
  /dev/vt/10                                                       15
  /dev/vt/11                                                       15
  /dev/vt/12                                                       15
  /dev/vt/13                                                       15
  /dev/vt/14                                                       15
  /dev/vt/15                                                       15
  /dev/vt/2                                                        15
  /dev/vt/3                                                        15
  /dev/vt/4                                                        15
  /dev/vt/5                                                        15
  /dev/vt/6                                                        15
  /dev/vt/7                                                        15
  /dev/vt/8                                                        15
  /dev/vt/9                                                        15
  /dev/vt/active                                                   15
  /dev/vt/console_user                                             15
  /dev/wscons                                                      15
  /dev/zcons/tutor                                                 15
  /dev/zcons/tutor/masterconsole                                   15
  /dev/zcons/tutor/zoneconsole                                     15

There are clearly 14 separate exhaustive walks of /dev here. But why? There seem to be 24 processes with ?? in the TTY column:

asgard # ps -fz tutor | grep \\\?\\\? | wc -l
      24

So it isn't linear with the number of processes. Turns out there are 14 unique ptys being used in the zone, which we can't see from outside. So:

asgard # zlogin tutor ps -ef | grep pts | sed 's,.*\(pts/[0-9]*\).*,\1,' | sort | uniq | wc -l
      14

a quick unscientific check shows that:

asgard # time ps -fz tutor >/dev/null

real    0m10.220s
user    0m0.021s
sys     0m9.852s

asgard # time (Q=1; while [[ $Q -lt 14 ]] ; do find /dev/zvol >/dev/null; ((Q=Q+1))  ; done) 

real    0m11.182s
user    0m0.022s
sys     0m10.793s

Which suggests both that walks of /dev/zvol are pretty much the issue here, and that ps seems to cache the result of pts resolution and not re-search.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment