Combining FSS With Other Scheduling Classes
By default, the FSS scheduling class uses the same range of priorities (0
to 59) as the timesharing (TS), interactive (IA), and fixed priority (FX) scheduling
classes. Therefore, you should avoid having processes from these scheduling classes share the same processor
set. A mix of processes in the FSS, TS, IA, and FX classes
could result in unexpected scheduling behavior.
With the use of processor sets, you can mix TS, IA, and
FX with FSS in one system. However, all the processes that run on
each processor set must be in one scheduling class, so they do not
compete for the same CPUs. The FX scheduler in particular should not be
used in conjunction with the FSS scheduling class unless processor sets are used.
This action prevents applications in the FX class from using priorities high enough
to starve applications in the FSS class.
You can mix processes in the TS and IA classes in the
same processor set, or on the same system without processor sets.
The Solaris system also offers a real-time (RT) scheduler to users with superuser
privileges. By default, the RT scheduling class uses system priorities in a different
range (usually from 100 to 159) than FSS. Because RT and FSS are
using disjoint, or non-overlapping, ranges of priorities, FSS can coexist with the RT
scheduling class within the same processor set. However, the FSS scheduling class does
not have any control over processes that run in the RT class.
For example, on a four-processor system, a single-threaded RT process can consume one
entire processor if the process is CPU bound. If the system also runs
FSS, regular user processes compete for the three remaining CPUs that are not
being used by the RT process. Note that the RT process might not
use the CPU continuously. When the RT process is idle, FSS utilizes
all four processors.
You can type the following command to find out which scheduling classes the
processor sets are running in and ensure that each processor set is
configured to run either TS, IA, FX, or FSS processes.
$ ps -ef -o pset,class | grep -v CLS | sort | uniq
1 FSS
1 SYS
2 TS
2 RT
3 FX