diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2009-01-29 16:29:14 -0800 |
---|---|---|
committer | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2009-01-29 16:29:14 -0800 |
commit | b204513bbfbac10a826e485f677c7ed77e342d52 (patch) | |
tree | 38365209cd12a8f67f506011e81baa1397990645 /scripts/vyatta-cpu-summary.pl | |
parent | 7c4f84496228c1ef73b4926d426588de8318125b (diff) | |
download | vyatta-op-b204513bbfbac10a826e485f677c7ed77e342d52.tar.gz vyatta-op-b204513bbfbac10a826e485f677c7ed77e342d52.zip |
Change name of cpu summary script and rearrange
Final answer.
Diffstat (limited to 'scripts/vyatta-cpu-summary.pl')
-rwxr-xr-x | scripts/vyatta-cpu-summary.pl | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/scripts/vyatta-cpu-summary.pl b/scripts/vyatta-cpu-summary.pl new file mode 100755 index 0000000..1839a5d --- /dev/null +++ b/scripts/vyatta-cpu-summary.pl @@ -0,0 +1,37 @@ +#! /usr/bin/perl +# implement "show cpu-info" + +open my $cpuinfo, '<', '/proc/cpuinfo' + or die "Can't open /proc/cpuinfo : $!"; + +my %models; +my %packages; +my %cores; + +my %map = ( + 'model name' => \%models, + 'physical id' => \%packages, + 'core id' => \%cores +); + +my $cpu = 0; +while (<$cpuinfo>) { + chomp; + my ( $tag, $val ) = split /:/; + if ( !$tag ) { + ++$cpu; + next; + } + + $tag =~ s/\s+$//; + $val =~ s/^\s+//; + + my $ref = $map{$tag}; + $ref->{$val} = $cpu if ($ref); +} +close $cpuinfo; + +print "CPU ", join( " \n", keys %models ), "\n"; +print "Packages ", scalar keys %packages, "\n"; +print "Cores ", scalar keys %cores, "\n"; +print "Threads ", $cpu, "\n"; |