#!/usr/perl5/bin/perl -w # # use kstats to get some cpu info # # could use the command line # kstat cpu_info:::brand cpu_info:::implementation # # this version simply cleans up the output # and adds support for Solaris before 10 # which has lees information in the kstat structure # use Sun::Solaris::Kstat; my $ks = Sun::Solaris::Kstat->new(); my ($module,$instance,$name,$field1,$field2); $module = "cpu_info"; $field1 = "brand"; $field2 = "implementation"; $field2a = "cpu_type"; $field3 = "clock_MHz"; my $mh = $ks->{$module}; foreach $instance (sort keys(%$mh)) { print "CPU $instance:\n"; $name=$module.$instance; if (defined $ks->{$module}{$instance}{$name}{$field1}) { print "$ks->{$module}{$instance}{$name}{$field1}\n"; } if (defined $ks->{$module}{$instance}{$name}{$field2}) { print "$ks->{$module}{$instance}{$name}{$field2}\n"; } else { if (defined $ks->{$module}{$instance}{$name}{$field2a}) { print "$ks->{$module}{$instance}{$name}{$field2a}\n"; } } if (!defined $ks->{$module}{$instance}{$name}{$field1}) { if (defined $ks->{$module}{$instance}{$name}{$field3}) { print "$ks->{$module}{$instance}{$name}{$field3} MHz\n"; } } }