Tôi muốn sử dụng CPU và RAM máy chủ bằng PHP. Kịch bản nên hoạt động trên Windows và Linux.
Làm thế nào tôi sẽ làm điều đó?
Codechap
3.9936 Huy hiệu vàng30 Huy hiệu bạc40 Huy hiệu đồng6 gold badges30 silver badges40 bronze badges
Hỏi ngày 8 tháng 4 năm 2014 lúc 22:18Apr 8, 2014 at 22:18
3
Hàm đầu tiên sẽ trả về việc sử dụng bộ nhớ máy chủ:
function get_server_memory_usage[]{
$free = shell_exec['free'];
$free = [string]trim[$free];
$free_arr = explode["\n", $free];
$mem = explode[" ", $free_arr[1]];
$mem = array_filter[$mem];
$mem = array_merge[$mem];
$memory_usage = $mem[2]/$mem[1]*100;
return $memory_usage;
}
Chức năng này sẽ trả về việc sử dụng CPU máy chủ:
function get_server_cpu_usage[]{
$load = sys_getloadavg[];
return $load[0];
}
Đã trả lời ngày 8 tháng 4 năm 2014 lúc 22:25Apr 8, 2014 at 22:25
SnoobihsnoobihSnoobih
3112 Huy hiệu bạc9 Huy hiệu Đồng2 silver badges9 bronze badges
8
Tôi khuyên bạn nên sử dụng PHP SNMP
//www.php.net/manual/en/book.snmp.php
Điều này sẽ cung cấp một giải pháp thống nhất cho cả Windows và Linux mà không cần phải gây rối với các lệnh EXEC.
Tất nhiên bạn sẽ cần cài đặt trình nền/dịch vụ Windows SNMP trên cả máy chủ Windows và Linux của bạn
Đối với Linux, chỉ cần sử dụng net-snmp, ví dụ như centos
sudo yum install net-snmp
sudo service snmpd start
sudo chkconfig snmpd on
NET-SNMP cũng có sẵn cho Windows:
//www.net-snmp.org/
Đã trả lời ngày 8 tháng 4 năm 2014 lúc 22:25Apr 8, 2014 at 22:25
Snoobihsnoobih
3112 Huy hiệu bạc9 Huy hiệu Đồng — Gets system load average
Tôi khuyên bạn nên sử dụng PHP SNMP
Điều này sẽ cung cấp một giải pháp thống nhất cho cả Windows và Linux mà không cần phải gây rối với các lệnh EXEC.[]: array|false
Tất nhiên bạn sẽ cần cài đặt trình nền/dịch vụ Windows SNMP trên cả máy chủ Windows và Linux của bạn
Đối với Linux, chỉ cần sử dụng net-snmp, ví dụ như centos
NET-SNMP cũng có sẵn cho Windows:
[Php 5> = 5.1.3, Php 7, Php 8]array with three samples [last 1, 5 and 15 minutes].
SYS_GETLOADAVG - Nhận trung bình tải hệ thống
Sự mô tảsys_getloadavg[] example
Ghi chú
Lưu ý: Hàm này không được triển khai trên các nền tảng Windows.: This function is not implemented on Windows platforms.
Stanislav Dot Eckert tại Vizson Dot de ¶ ¶
6 năm trước
Function to get current CPU load as percentage value under Windows and Linux.
Note: Function is getServerLoad[]. It will return a decimal value as percentage of current CPU load or NULL if something went wrong [e. g. insufficient access rights].
Rick tại rctonline dot nl ¶ ¶
10 năm trước
Here is another one that also works on windows. Note that this method is not fast, so be careful in the number of calls to this function.
function get_server_cpu_usage[]{
$load = sys_getloadavg[];
return $load[0];
}
0function get_server_cpu_usage[]{
$load = sys_getloadavg[];
return $load[0];
}
1function get_server_cpu_usage[]{
$load = sys_getloadavg[];
return $load[0];
}
2Scott tại Corelevel Dot Com ¶ ¶
15 năm trước
function get_server_cpu_usage[]{
$load = sys_getloadavg[];
return $load[0];
}
3function get_server_cpu_usage[]{
$load = sys_getloadavg[];
return $load[0];
}
4function get_server_cpu_usage[]{
$load = sys_getloadavg[];
return $load[0];
}
5function get_server_cpu_usage[]{
$load = sys_getloadavg[];
return $load[0];
}
6function get_server_cpu_usage[]{
$load = sys_getloadavg[];
return $load[0];
}
7function get_server_cpu_usage[]{
$load = sys_getloadavg[];
return $load[0];
}
8kexianbin tại DIYism dot com ¶ ¶
8 năm trước
function get_server_cpu_usage[]{
$load = sys_getloadavg[];
return $load[0];
}
9Tom Pittlik ¶ ¶
16 năm trước
sudo yum install net-snmp
sudo service snmpd start
sudo chkconfig snmpd on
0sudo yum install net-snmp
sudo service snmpd start
sudo chkconfig snmpd on
1sudo yum install net-snmp
sudo service snmpd start
sudo chkconfig snmpd on
2sudo yum install net-snmp
sudo service snmpd start
sudo chkconfig snmpd on
3Surfchen tại Gmail Dot Com ¶ ¶
16 năm trước
sudo yum install net-snmp
sudo service snmpd start
sudo chkconfig snmpd on
4Surfchen tại Gmail Dot Com ¶ ¶
Ẩn danh ¶
sudo yum install net-snmp
sudo service snmpd start
sudo chkconfig snmpd on
5sudo yum install net-snmp
sudo service snmpd start
sudo chkconfig snmpd on
6function get_server_cpu_usage[]{
$load = sys_getloadavg[];
return $load[0];
}
813 năm trước ¶
828586 tại gmail dot com ¶
sudo yum install net-snmp
sudo service snmpd start
sudo chkconfig snmpd on
812 năm trước ¶
Chris Wheeler ¶
sudo yum install net-snmp
sudo service snmpd start
sudo chkconfig snmpd on
9
0
1
2Surfchen tại Gmail Dot Com ¶ ¶
Chris Wheeler ¶
3
4
function get_server_cpu_usage[]{
$load = sys_getloadavg[];
return $load[0];
}
81 năm trước ¶
Chris Wheeler ¶
6
7
81 năm trước ¶
10 năm trước
9
Function to get current CPU load as percentage value under Windows and Linux.
0