MaxPermSize<?php
require_once "class.SSH2Opt.php";
require_once 'classDBOpt.php';
if($_GET["type"]=="cpu"){
$ip=$_GET["ip"];
$user=$_GET["user"];
$pass=$_GET["pass"];
$command="cat /proc/cpuinfo";
try{
echo "基础信息:";
echo "<table class='imagetable'>";
$opt=new SSH2Opt();
$var = $opt->ssh2Exec($ip,$user,$pass,$command);
$strs = '';
foreach ($var as $va){ //将数组 字符串化,用于做统计
$strs = $strs.$va;
}
echo "<tr><td>物理CPU的个数</td><td>".substr_count($strs,'physical id')." 个</td></tr>";
echo "<tr><td>逻辑CPU的个数</td><td>".substr_count($strs,'processor')." 个</td></tr>";
$va = explode(':',$var[4]);
echo "<tr><td>CPU型号</td><td>".$va[1]."</td></tr>";
$va = explode(':',$var[6]);
echo "<tr><td>CPU的主频</td><td>".$va[1]." MHz</td></tr>";
$va = explode(':',$var[7]);
echo "<tr><td>CPU的缓存</td><td>".$va[1]."</td></tr>";
echo "</table>";
echo "<br/>使用信息:";
echo "<table class='imagetable'>";
$var = $opt->ssh2Exec($ip,$user,$pass,"mpstat");
$value=explode(' ',$var[3]);
echo "<tr><th>统计方式</th><th>".$value[3]."</th></tr>";
echo "<tr><td>总使用率</td><td>".$value[7]."%</td></tr>";
echo "<tr><td>系统使用</td><td>".$value[15]."%</td></tr>";
echo "<tr><td>IO等待</td><td>".$value[19]."%</td></tr>";
echo "<tr><td>软件使用</td><td>".$value[27]."%</td></tr>";
echo "<tr><td>剩余</td><td>".$value[38]."%</td></tr>";
echo "</table>";
}catch(PDOException $e){
echo "查询 $ip 失败";
}
}
else if($_GET["type"]=="memory"){
$ip=$_GET["ip"];
$user=$_GET["user"];
$pass=$_GET["pass"];
$command="free -m";
try{
$opt=new SSH2Opt();
$var = $opt->ssh2Exec($ip,$user,$pass,$command);
$value=explode(' ',$var[2]);
if(count($value) == 3){
array_push($value, $value[2]);
}
echo "<table class='imagetable'>";
echo "<tr><th>内存使用率</th><td>".round($value[1]/($value[1]+$value[3])*100,2)."%</td>";
echo "</table><br/>";
// echo "<table class='imagetable'>";
// echo "<tr><th></th><th>内存总数</th><th>已使用</th><th>空闲内存</th><th>已经废弃</th><th>Buffer缓存内存数</th><th>Page缓存内存</th></tr>";
// echo "<tr><th>内存</th><td>".$value[2]."M</td><td>".$value[3]."M</td><td>".$value[5]."M</td><td>".$value[7]."M</td><td>".$value[9]."M</td><td>".$value[11]."M</td></tr>";
// $value=explode(' ',$var[2]);
// echo "<tr><th>缓存内存</th><td>".$value[1]."M</td><td>".$value[3]."M</td><td></td><td></td><td></td><td></td></tr>";
// $value=explode(' ',$var[3]);
// echo "<tr><th>".$value[0]."</th><td>".$value[2]."M</td><td>".$value[4]."M</td><td>".$value[5]."M</td><td></td><td></td><td></td></tr>";
// echo "</table>";
echo "<table class='imagetable'>";
echo "<tr><th></th><th>内存总数(M)</th><th>已使用(M)</th><th>空闲内存(M)</th><th>已经废弃(M)</th><th>Buffer缓存内存数(M)</th><th>Page缓存内存(M)</th></tr>";
//我也不知道这个for循环该这么备注了 ,总之就是为了获取期望的table。
for ($i=1;$i<count($var);$i++){
$value=explode(' ',$var[$i]);
echo "<tr>";
if ($i == 2){
$num = 1;
foreach($value as $val){
if($val != '' && $val != '-/+'){
if($num == 2){
echo "<td></td>";
}
echo "<td>".$val."</td>";
$num++;
}
}
}else{
foreach($value as $val){
if($val != '' && $val != '-/+'){
echo "<td>".$val."</td>";
}
}
}
echo "</tr>";
}
echo "</table>";
echo <<<EOF
<pre>说明:
Mem开头的行:
内存总数:比如这台机器4G内存,实际上已经扣除掉了作为显存的部分。
已使用 :这部分既包括操作系统本身使用的部分,也包括应用程序已经使用的部分,还包括缓存的部分。
空闲内存:操作系统还没有使用的内存数。我们通常看到这部分比较小。
已经废弃:已经废弃不用,总是显示0。
Buffer缓存内存:作为缓存的内存数
Page缓存内存:作为缓存的内存数
-/+ buffers/cache开头的行:(重点看这行)
已使用 :应用程序总共使用的内存数。等于Mem.used-Mem.buffers-Mem.cached。
空闲内存:是指应用程序还未使用的内存数。这个数据才是我们需要关注的空闲可用内存数。等于Mem.free+Mem.buffers+Mem.cached。
如果此行中free列的数据太小,那么就需要优化程序或者增加物理内存了。
Swap开头的行:为交换分区,在物理内存不够时,才进行Swap交换
详情请参考:Linux free -m 命令详解
EOF;
}catch(PDOException $e){
echo "查询 $ip 失败";
}
}
else if($_GET["type"]=="disk"){
$ip=$_GET["ip"];
$user=$_GET["user"];
$pass=$_GET["pass"];
$command="df -l -m";
try{
$opt=new SSH2Opt();
$var = $opt->ssh2Exec($ip,$user,$pass,$command);
echo "<table class='imagetable'>";
echo "<tr><th>文件系统</th><th>总计(M)</th><th>已用(M)</th><th>可用(M)</th><th>已用(%)</th><th>挂载点</th></tr>";
for ($i=1;$i<count($var);$i++){
$value=explode(' ',$var[$i]);
echo "<tr>";
foreach($value as $val){
if($val != ''){
echo "<td>".$val."</td>";
}
}
echo "</tr>";
}
echo "</table>";
}catch(PDOException $e){
echo "查询 $ip 失败";
}
}
else if($_GET["type"]=="service"){
$ip=$_GET["ip"];
$user=$_GET["user"];
$pass=$_GET["pass"];
$command="ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head";
$command1="ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head";
try{
$opt=new SSH2Opt();
echo "占用CPU前10的服务<br/>";
$var = $opt->ssh2Exec($ip,$user,$pass,$command);
echo "<table class='imagetable'>";
echo "<tr><th>用户</th><th>PID</th><th>CPU使用率(%)</th><th>内存使用率(%)</th><th>占用虚拟内存(KB)</th><th>占用物理内存(KB)</th><th>进程状态</th><th>开始运行时间</th><th>占用CPU时间</th><th>启动进程命令</th><th>操作</th></tr>";
for ($i=1;$i<count($var);$i++){
$value=explode(' ',$var[$i]);
echo "<tr>";
$num = 1;
$allComm="";
foreach($value as $val){
if($val != '' && $val != '?' && $num < 10){
echo "<td>".$val."</td>";
$num++;
}else{
if ($num > 9){
$allComm=$allComm.$val.' ';
}
}
}
echo "<td title=$allComm>".substr($allComm,0,40)."</td>";
echo "<td><input type='button' value = 'kill' class='but' onclick='kill();'></td>";
echo "</tr>";
}
echo "</table>";
echo "<br/>占用内存前10的服务<br/>";
$var = $opt->ssh2Exec($ip,$user,$pass,$command1);
echo "<table class='imagetable'>";
echo "<tr><th>用户</th><th>PID</th><th>CPU使用率(%)</th><th>内存使用率(%)</th><th>占用虚拟内存(KB)</th><th>占用物理内存(KB)</th><th>进程状态</th><th>开始运行时间</th><th>占用CPU时间</th><th>启动进程命令</th><th>操作</th></tr>";
for ($i=1;$i<count($var);$i++){
$value=explode(' ',$var[$i]);
echo "<tr>";
$num = 1;
$allComm="";
foreach($value as $val){
if($val != '' && $val != '?' && $num < 10){
echo "<td>".$val."</td>";
$num++;
}else{
if ($num > 9){
$allComm=$allComm.$val.' ';
}
}
}
echo "<td title=$allComm>".substr($allComm,0,40)."</td>";
echo "<td><input type='button' value = 'kill' class='but' onclick='kill();'></td>";
echo "</tr>";
}
echo "</table>";
}catch(PDOException $e){
echo "查询 $ip 失败";
}
}
else if($_GET["type"]=="diy"){
$ip=$_GET["ip"];
$user=$_GET["user"];
$pass=$_GET["pass"];
echo "<iframe src='diy.php?ip=$ip&user=$user&pass=$pass' frameborder='0' width='100%' height='450px'></iframe>";
}
else if($_GET["type"]=="rmdir"){
$ip=$_GET["ip"];
$user=$_GET["user"];
$pass=$_GET["pass"];
$dir=$_GET["deldir"];
if($dir == "/" || $dir == "/bin"|| $dir == "/sbin"){ //系统安全不能删除的目录
echo "您删除的目录过于重要,请三思而行
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
所有源码,资料均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!Linux系统是一个免费使用和自由传播的类Unix操作系统,基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统,Linux是许多企业和服务提供商的首选操作系统,用于部署Web服务器、数据库服务器、邮件服务器等。Linux系统具有高效的网络功能和稳定的性能,因此被广泛应用于服务器领域,Linux是云计算的核心组成部分,被广泛用于构建云平台和云服务。许多知名的云计算服务提供商都采用Linux系统作为其基础架构,一些游戏平台和游戏开发工具采用Linux作为支持的操作系统,例如Steam平台上的某些游戏。Linux系统在科学计算、数据分析和机器学习等领域也有广泛应用。许多知名的科学计算软件都在Linux上开发和运行,Linux系统在各个领域都有广泛的应用,其强大的功能和灵活性使得它成为许多产品和服务的基础架构。
资源推荐
资源详情
资源评论
收起资源包目录
监控linux系统.zip (26个子文件)
1.1
man.php 16KB
.settings
org.eclipse.core.resources.prefs 55B
org.eclipse.php.server.core.phpServersPrefs.prefs 71B
org.eclipse.php.core.prefs 175B
classDBOpt.php 653B
.gitattributes 378B
config.php 309B
js
jquery-1.8.3.min.js 91KB
my_ajax.js 0B
highchart.js 1KB
kill.js 44B
class.SSH2Opt.php 1KB
classDBConn.php 648B
.buildpath 275B
update.php 6KB
css
my.css 2KB
table.css 498B
mysql_MandS_monitor.php 3KB
index.php 5KB
diy.php 4KB
test.php 155B
.project 495B
images
wait.gif 15KB
cell-blue.jpg 2KB
cell-grey.jpg 2KB
class.SSH2Conn.php 803B
共 26 条
- 1
资源评论
妄北y
- 粉丝: 9694
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功