當前位置:首頁 » 編程語言 » php內存監控

php內存監控

發布時間: 2022-05-08 14:54:59

㈠ 查看php程序佔用多少內存

想要知道編寫的 PHP 腳本需要佔用多少內存么?很簡單,直接使用 PHP 查看當前分配給 PHP 腳本的內存的函數 memory_get_usage() 就可以了$memory = round(memory_get_usage() / 1024 / 1024, 2).'MB';
上面的程序默認輸出單位為 byte(s))我將它轉換成MB,也就是當時 PHP 腳本使用的內存(不含 memory_get_usage() 函數本身佔用的內存)。
更多問題可以去php中文網問答社區提問http://www.php.cn/wenda.html,大神在線幫你解決,希望對你有幫助

㈡ php怎樣實現資料庫監控功能

你可以找找這個文章
利用Ajax實現長連接(模擬推送)

㈢ 性能測試,監控PHP的線程,堆棧,類有什麼好的監控工具

XHProf是一個分層PHP性能分析工具。它報告函數級別的請求次數和各種指標,包括阻塞時間,CPU時間和內存使用情 況。一個函數的開銷,可細分成調用者和被調用者的開銷。
原始數據收集部分是用純C實現的,是一個名叫xhprof的 Zend擴展 。
XHProf有一個簡單的HTML的用戶界面( PHP寫成的)。
基於瀏覽器的性能分析用戶界面能更容易查看,或是與同行們分享成果。也能繪制調用關系圖。

㈣ 請問php如何實現實時監控文件.

在服務端建立一個根據需要進行循環的PHP腳本就可以。

猜測一下,您的第二個問題,是不是想進行相關檢測以避免重復觸發這個腳本。


實際上,不建議由用戶行為觸發這個腳本,無論是服務端代碼,還是客戶端的非同步Ajax。

如果要用PHP腳本進行不停的循環監控,請聯系運維人員,伺服器啟動,即在服務端開始運行這個腳本,他們會向您提供解決方案的。


真正的建議是,如果有任何可能,都不要使用PHP腳本利用循環代碼進行服務端的監控。

不得不承認,這個方面PHP的穩定性還差一些,Java或許可以這么做,PHP就比較痛苦了。

比較可能的辦法是請運維人員幫忙,通報監控邏輯,然後請他安裝各種觸發條件調用相應的PHP代碼。


如果堅持使用PHP腳本進行相關工作,有兩個建議給您:

  1. 盡快釋放資源,無論腳本使用了什麼資源,包括文件、內存、資料庫等等,都盡快釋放,這種地方可萬萬不能偷懶,否則就是自虐了。

  2. 在這個腳本中進行獨立的手工日誌輸出,任何一層循環的入口都要進行記錄,這樣在監控失敗的時候才有辦法查找問題。

㈤ 如何使用PHP實時監控linux伺服器的cpu,內存,硬碟信息

1,Linux下可以在/proc/cpuinfo中看到每個cpu的詳細信息。但是對於雙核的cpu,在cpuinfo中會看到兩個cpu。常常會讓人誤以為是兩個單核的cpu。
其實應該通過Physical Processor ID來區分單核和雙核。而Physical Processor ID可以從cpuinfo或者dmesg中找到. flags 如果有 ht 說明支持超線程技術 判斷物理CPU的個數可以查看physical id 的值,相同則為同一個物理CPU

2,查看內存大小:
cat /proc/meminfo |grep MemTotal

3,其他一些可以查看詳細linux系統信息的命令和方法:
uname -a # 查看內核/操作系統/CPU信息的linux系統信息命令
head -n 1 /etc/issue # 查看操作系統版本,是數字1不是字母L
cat /proc/cpuinfo # 查看CPU信息的linux系統信息命令
hostname # 查看計算機名的linux系統信息命令
lspci -tv # 列出所有PCI設備
lsusb -tv # 列出所有USB設備的linux系統信息命令
lsmod # 列出載入的內核模塊
env # 查看環境變數資源
free -m # 查看內存使用量和交換區使用量
df -h # 查看各分區使用情況
-sh # 查看指定目錄的大小
grep MemTotal /proc/meminfo # 查看內存總量
grep MemFree /proc/meminfo # 查看空閑內存量
uptime # 查看系統運行時間、用戶數、負載
cat /proc/loadavg # 查看系統負載磁碟和分區
mount | column -t # 查看掛接的分區狀態
fdisk -l # 查看所有分區
swapon -s # 查看所有交換分區
hdparm -i /dev/hda # 查看磁碟參數(僅適用於IDE設備)
dmesg | grep IDE # 查看啟動時IDE設備檢測狀況網路
ifconfig # 查看所有網路介面的屬性
iptables -L # 查看防火牆設置
route -n # 查看路由表
netstat -lntp # 查看所有監聽埠
netstat -antp # 查看所有已經建立的連接
netstat -s # 查看網路統計信息進程
ps -ef # 查看所有進程
top # 實時顯示進程狀態用戶
w # 查看活動用戶
id # 查看指定用戶信息
last # 查看用戶登錄日誌
cut -d: -f1 /etc/passwd # 查看系統所有用戶
cut -d: -f1 /etc/group # 查看系統所有組
crontab -l # 查看當前用戶的計劃任務服務
chkconfig –list # 列出所有系統服務
chkconfig –list | grep on # 列出所有啟動的系統服務程序
rpm -qa # 查看所有安裝的軟體包
cat /proc/cpuinfo :查看CPU相關參數的linux系統命令
cat /proc/partitions :查看linux硬碟和分區信息的系統信息命令
cat /proc/meminfo :查看linux系統內存信息的linux系統命令
cat /proc/version :查看版本,類似uname -r
cat /proc/ioports :查看設備io埠
cat /proc/interrupts :查看中斷
cat /proc/pci :查看pci設備的信息
cat /proc/swaps :查看所有swap分區的信息

㈥ 有什麼方法能利用php監控文件夾內的文件的變化

每隔一段時間 遍歷文件夾裡面所有文件的 大小, 修改時間或者MD5 , 同上一次做比較

㈦ 如何獲知PHP程序佔用多少內存memory

PHP性能優化過程中需要獲取PHP內存消耗,使用memory_get_usage()函數可獲取當前的內存消耗情況,函數使用簡單,這里討論一下memory_get_usage()函數的用法與實例

三,基礎用法與實例
1,獲取當前的內存消耗量

復制代碼代碼如下:

<?php
echo memory_get_usage();
$var = str_repeat("liuhui", 10000);
echo memory_get_usage();
unset($var);
echo memory_get_usage();
?>

分別輸出:62328 122504 62416
說明:memory_get_usage()函數輸出的數值為bytes單位

2,格式化memory_get_usage()輸出

復制代碼代碼如下:

<?php
function convert($size){
$unit=array('b','kb','mb','gb','tb','pb');
return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];
}
echo convert(memory_get_usage(true));
?>

輸出:256 kb

3,自定義函數獲取數組或變數值大小

復制代碼代碼如下:

<?php
function array_size($arr) {
ob_start();
print_r($arr);
$mem = ob_get_contents();
ob_end_clean();
$mem = preg_replace("/\n +/", "", $mem);
$mem = strlen($mem);
return $mem;
}
$memEstimate = array_size($GLOBALS);
?>

㈧ PHP程序,如何監控內存情況

看到有人寫透視寶做php監控的原理圖,跟你分享下。我估計大家做的方式都是差不多。

PHP運行支撐的ZendEngine早在設計過程中已經預留了豐富的Hook,可以有效干涉處理過程中的幾個關鍵步驟。利用了以下幾個Hook,就能方便的獲取數據:

1. zend_compile_file & zend_compile_string

載入分析文件或字元串,本身就會造成非常大的IO,如果過多地執行載入,無疑會造成內存和CPU的消耗.通過這兩個hook,可以取得文件名、執行行數、使用內存和CPU佔用時間。

2.zend_execute & zend_execute_internal

通過這兩個hook的使用,我們可以准確地分析得出一個PHP應用中的類調用、方法調用、方法參數、內存佔用和CPU佔用,加以分析,便可以准確得出應用系統運行過程中的方法運行棧,API調用地址,SQL語句,CacheKey以及Cache命中等關鍵信息。

3.zend_throw_exception_hook

利用異常鉤子,可以准確地得到應用系統運行過程中出現的異常信息,當然包括異常發生的類方法位置,參數,異常code和異常message。

4.zend_error_cb

錯誤鉤子則更加直接,可以准確得到系統運行過程中出現的任何一個warning,代碼錯誤或語法錯誤。

㈨ php的最大內存限制是多少

這個看情況了,處理大數據肯定需要的內存更大,只是本地調試肯定用不了多少。
php.ini的內存限制默認為memory_limit = 128M,只要把memory_limit設為-1,就不會限制你跑cli腳本時的內存限制。
一般作為一台專門運行php的伺服器,肯定要盡可能的把內存給於php運行,一台不夠就追加。

熱點內容
手機店設置的初始密碼一般是多少 發布:2025-05-11 09:33:15 瀏覽:401
昂科威選擇哪個配置 發布:2025-05-11 09:25:50 瀏覽:35
怎麼解決安卓視頻全屏卡頓 發布:2025-05-11 09:14:55 瀏覽:725
匯編從編譯到執行 發布:2025-05-11 09:09:04 瀏覽:257
安卓系統低版本如何升級 發布:2025-05-11 09:04:44 瀏覽:251
認證類型加密演算法 發布:2025-05-11 08:58:35 瀏覽:561
android停靠 發布:2025-05-11 08:42:23 瀏覽:646
超時代加密 發布:2025-05-11 08:41:29 瀏覽:780
為什麼還要輸入支取密碼 發布:2025-05-11 08:32:24 瀏覽:362
資料庫課程設計案例 發布:2025-05-11 08:15:33 瀏覽:51