Inodes are the objects Solaris uses to record information about a file. The inode contains information about a file (such as owner, permissions, and file size) as well as pointers to the actual data blocks associated with the file. Each file requires an inode, and the number of inodes on a filesystem is specified at the time of filesystem creation.


Checking free inodes - The System V way:

# /usr/bin/df -o i


df: operation not applicable for FSType autofs
df: operation not applicable for FSType fd
df: operation not applicable for FSType nfs
df: operation not applicable for FSType proc
df: operation not applicable for FSType tmpfs
Filesystem             iused   ifree  %iused  Mounted on
/dev/dsk/c0t0d0s0      33371  469477     7%   /
/dev/dsk/c0t0d0s1       2581  255019     1%   /var
/dev/dsk/c0t0d0s7          8 1365752     0%   /export/home

Checking free inodes - The BSD way:

# /usr/ucb/df -i


Filesystem             iused   ifree  %iused  Mounted on
/dev/dsk/c0t0d0s0      33371  469477     7%   /
/dev/dsk/c0t0d0s1       2581  255019     1%   /var
/dev/dsk/c0t0d0s7          8 1365752     0%   /export/home

Altering the default nbpi:

Solaris automatically calculates the inode density when you create a filesystem. You can override this value using the -i option of newfs:

# newfs -i 65536 /dev/rdsk/c0t1d0s0


newfs: construct a new file system /dev/rdsk/c0t1d0s0: (y/n)? y
/dev/rdsk/c0t1d0s0:     1049152 sectors in 776 cylinders of 8 tracks, 169 sectors
        512.3MB in 49 cyl groups (16 c/g, 10.56MB/g, 192 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 32, 21840, 43648, 65456, 87264, 109072, 130880, 152688, 173088, 194896,
 216704, 238512, 260320, 282128, 303936, 325744, 346144, 367952, 389760,
 411568, 433376, 455184, 476992, 498800, 519200, 541008, 562816, 584624,
 606432, 628240, 650048, 671856, 692256, 714064, 735872, 757680, 779488,
 801296, 823104, 844912, 865312, 887120, 908928, 930736, 952544, 974352,
 996160, 1017968, 1038368,