1、使用root用户telnet进入linux系统
2、修改DNS以下两种方法
A、通过setup命令配置dns
B、通过在/etc目录下创建resolv.conf文件
3、查看DNS是否配置成功
[root@BL360-25]# cat/etc/resolv.conf
nameserver 202.107.117.11
nameserver 202.107.117.12
1、使用root用户telnet进入linux系统
2、#提示符下,输入cpan
提示:Are you ready for manual configuration? [yes]
输入:no
进入cpan>状态
1、在cpan>提示下,输入o conf urllist push http://www.cpan.org/
2、在cpan>提示下,输入o conf urllist push ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
3、执行过程中无任何输出后,在cpan>提示下,输入o conf commit,提示:commit: wrote /usr/lib/perl5/5.8.8/CPAN/Config.pm,表示成功
1、在cpan>提示下,输入o conf http_proxy http://proxy.neusoft.com:8080
2、在cpan>提示下,输入o conf proxy_user 用户名
3、在cpan>提示下,输入o conf proxy_pass 密码
4、执行过程中无任何输出后,在cpan>提示下,输入o conf commit,提示:commit: wrote /usr/lib/perl5/5.8.8/CPAN/Config.pm,表示成功
在cpan>提示下,输入install Sys::Statistics::Linux
Fetching with LWP:
http://www.cpan.org/authors/01mailrc.txt.gz
Going to read root/。。。。。。
UNIVERSAL::require
Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes] yes
提示是否安装相关模块,请输入yes
All tests successful.
最后测试都通过表示安装成功
1、将linuxperfstat.tar包拷贝到linux系统,并解压出LinuxDiskStat.pm和linuxperfstat文件
2、设置可执行权限
chmod +x linuxperfstat
3、linuxperfstat -h - 打印帮助
具体使用方法请看readme.doc
more linuxperfstat
#!/usr/bin/perl -w
use strict; use warnings; use Sys::Statistics::Linux; use Data::Dumper; use LinuxDiskStat;
my $loop = 0; # current loop number my $PAGESIZE = 20; # max lines per header my $lines = $PAGESIZE; # counter for lines printed
# # Process command line args # usage() if defined $ARGV[0] and $ARGV[0] =~ /^(-h|--help|0)$/;
# process [interval [count]], my ($interval, $loop_max); if (defined $ARGV[0]) { $interval = $ARGV[0]; $loop_max = defined $ARGV[1] ? $ARGV[1] : 2**32; usage() if $interval == 0; } else { $interval = 1; $loop_max = 1; }
sub sim_show
{ my ($rh_siminfo) = @_; my $str = ""; foreach (sort(keys(%$rh_siminfo))) { $str .= "$_: $rh_siminfo->{$_}\n"; } return $str; }
my $lxs = Sys::Statistics::Linux->new( cpustats => { init => 1, }, diskstats => { init => 1, }, netstats => { init => 1, }, memstats => { init => 1, }, ); my $lxs_diskstat = LinuxDiskStat->new; $lxs_diskstat->init; my $NIC_SPEED = 100_000_000;
while (1) {
### Print header if ($lines++ >= $PAGESIZE) { $lines = 0; printf "%-20s %28s\n", "", "------ Utilisation ------"; printf "%-20s %7s %6s %6s %6s\n", "Time", "%CPU", "%Mem", "%Disk", "%Net"; } my $stat = $lxs->get; my $time = $lxs->gettime; my $disk_stat = $lxs_diskstat->get;
# # Calculate utilisation # my $ucpu = fetch_cpu($stat); my $umem = fetch_mem($stat); my $udisk = fetch_disk($disk_stat); my $unet = fetch_net($stat);
printf "%-20s %7s %6s %6s %6s\n",$time, $ucpu, $umem, $udisk, $unet; ### Check for end last if ++$loop == $loop_max; ### Interval sleep $interval; }
sub fetch_cpu { my ($rh_stat) = @_; my $str_cpu = ""; if(defined($rh_stat->cpustats->{cpu}->{total})) { $str_cpu = $rh_stat->cpustats->{cpu}->{total}; $str_cpu = sprintf "%.2f", $str_cpu; } return $str_cpu; } sub fetch_mem { my ($rh_stat) = @_; my $str_mem = ""; if(defined($rh_stat->memstats)) { $str_mem = 100-$rh_stat->memstats->{memfree}/$rh_stat->memstats->{memtotal}*100; $str_mem = sprintf "%.2f", $str_mem; } return $str_mem; } sub fetch_disk { my ($rh_stat) = @_; my $str_disk = ""; if(defined($rh_stat->{hda}->{ticks}))
{ $str_disk = $rh_stat->{hda}->{ticks}/10; $str_disk = sprintf "%.2f", $str_disk; } elsif(defined($rh_stat->{sda}->{ticks})) { $str_disk = $rh_stat->{sda}->{ticks}/10; $str_disk = sprintf "%.2f", $str_disk; } elsif(defined($rh_stat->{xvdb1}->{ticks})) { $str_disk = $rh_stat->{xvdb1}->{ticks}/10; $str_disk = sprintf "%.2f", $str_disk; } return $str_disk; } sub fetch_net { my ($rh_stat) = @_; my $str_net = ""; if(defined($rh_stat->netstats->{eth0}->{ttbyt})) { $str_net = ($rh_stat->netstats->{eth0}->{ttbyt}*800)/$NIC_SPEED; $str_net = sprintf "%.2f", $str_net; } return $str_net; } # usage - print usage and exit. #
sub usage { print STDERR <<END; USAGE: linuxperfstat [-h] | [interval [count]] eg, linuxperfstat # print summary since boot only linuxperfstat 5 # print continually every 5 seconds linuxperfstat 1 5 # print 5 times, every 1 second END exit 1; }
|
请发表评论