10 款最佳 Ping 掃描工具,協助您尋找網路上的設備
比較 10 款 ping 掃描工具,它們可用於快速發現區域網路、跨平台掃描和 IP 位址管理。了解掃描可以告訴您什麼,以及不能告訴您什麼。
你想要的結果不僅僅是「警告消失」。正確的修復方案意味著實際運行 ownCloud 10 的 PHP 進程報告的記憶體限制至少為 512 MB,ownCloud 管理員警告清除,計劃任務或 CLI 任務也使用適當的記憶體限制,並且主機仍然有足夠的實體記憶體來運行 PHP、Web 伺服器、資料庫和後台任務,而不會出現大量的記憶體交換。
對於 ownCloud Classic 10.16,官方 Docker 環境OWNCLOUD_MEMORY_LIMIT=512M建議使用預設配置。 ownCloud 的文檔也區分了 Web 伺服器使用的 PHP 配置和 使用的配置php-cli。正是由於這種區別,管理員有時即使更改了memory_limit並重啟了服務,仍然會看到相同的警告。
本指南首先介紹幹擾最小的檢查方法,然後展示 Apache、PHP-FPM、CLI 和 Docker 的路徑。此外,它還解釋了何時應該進一步提高限制,以及何時真正的問題是主機記憶體不足,而不是 PHP 設定本身的問題。
| 查看 | 結果良好 | 如果它失敗了 |
|---|---|---|
| ownCloud 管理概覽 | 沒有「PHP記憶體限制低於建議值」的警告 | 您可能編輯了錯誤的 PHP 配置,或者沒有重新啟動正確的服務。 |
| Web PHP 運行時 | memory_limit顯示 512M 或更高 | 找到Web 請求使用的已載入設定檔。 |
| CLI/cron運行時 | php -r 'echo ini_get("memory_limit");'顯示出預期價值 | php.ini同時編輯 CLI 特有的內容。 |
| 主機記憶體 | 記憶體充足;幾乎沒有持續的交換壓力 | 不要盲目地不斷提高 PHP 限制。請重新評估 PHP 工作進程數或主機容量。 |
| 紀錄 | 未出現反覆出現的「允許的記憶體大小已用盡」錯誤 | 在再次提高記憶體限制之前,請先找出消耗記憶體的工作負載。 |

開啟 ownCloud 管理設置,注意記憶體限制警告。在進行任何變更之前,請記錄 ownCloud 版本、PHP 版本、Web 伺服器類型和目前記憶體限制。這可以作為基準,並有助於避免在安裝了多個 PHP 版本的系統上更改錯誤的 PHP 安裝。
ownCloud 10.16 版本的最新文件指出,伺服器需求很大程度上取決於使用者數量、文件數量和活動量。其 Docker 配置設定OWNCLOUD_MEMORY_LIMIT=512M建議保持預設值。因此,512 MB 是一個合理的基準值,可以用來解決警告問題,但並不能保證所有工作負載都能控制在 512 MB 以內。
官方參考資料:ownCloud 部署建議和ownCloud Docker 環境變數。

php --ini報告 PHP CLI 的配置。這可能與 Apache 或 PHP-FPM 用於運行 ownCloud 的 PHP 配置不同。執行以下命令,查看命令列 PHP 進程使用的命令:
php --ini
php -r 'echo ini_get("memory_limit"), PHP_EOL;'
這對於定時任務很有用occ,但並不能證明 Web 要求使用了什麼設定。 ownCloud 明確記錄了不同的配置路徑,例如:
/etc/php/<version>/apache2/php.ini
/etc/php/<version>/fpm/php.ini
/etc/php/<version>/cli/php.ini
如果您的 CLI 顯示 512M,而管理頁面仍然報錯,則這種不匹配強烈表明 Web 伺服器正在載入另一個php.ini。
請參閱ownCloud 的 PHP 配置說明,其中特別警告說,可能需要在多個 INI 檔案中更改 PHP 設定。

最可靠的測試方法是檢查與 ownCloud 相同的 Web 架構中的 PHP 程式碼。 ownCloud 的文檔中描述如何使用臨時phpinfo.php頁面:
<?php phpinfo(); ?>
將其暫時放置在網站根目錄,在瀏覽器中打開,並找到:
然後立即刪除phpinfo檔案。 ownCloud警告說,保留公開的phpinfo頁面會洩露敏感的伺服器資訊。
如果瀏覽器顯示/etc/php/7.4/fpm/php.ini「while php --inisays」/etc/php/7.4/cli/php.ini,現在您就知道為什麼編輯 CLI 檔案沒有清除警告了。

php.ini或適用的池/站點覆蓋,而不僅僅是 CLI 檔案。在典型的 Debian 或 Ubuntu 安裝中:
sudo nano /etc/php/7.4/fpm/php.ini
尋找:
memory_limit = 128M
並將其更改為:
memory_limit = 512M
請在路徑中使用您已安裝的 PHP 版本。然後重新啟動對應的 FPM 服務和 Web 伺服器(如有必要):
sudo systemctl restart php7.4-fpm
sudo systemctl reload nginx
對於使用 Apacheproxy_fcgi或其他 FPM 設定的 Apache,請重新啟動 PHP-FPM 並重新載入 Apache。
ownCloud 也指出,PHP-FPM 不會使用來自 . 的 PHP 設定.htaccess。如果您依賴 FPM 的目錄覆蓋,請使用適用於您環境的受支援的 PHP/FPM 配置機制,例如相應的 . php.ini、池配置或.user.ini.

如果 Apache 直接將 PHP 作為模組加載,請編輯 Apache 特有的檔案:
sudo nano /etc/php/7.4/apache2/php.ini
放:
memory_limit = 512M
然後重啟 Apache:
sudo systemctl restart apache2
不要機械地複製版本號。請檢查 Apache 實際載入的版本。跨多個 PHP 版本升級的系統通常會在 . 目錄下保留多個目錄/etc/php/。
結果標準很簡單:重新啟動後,面向 Web 的 PHP 執行時必須顯示新值。如果仍然顯示 128M,則表示另一個配置層覆蓋了您的編輯。
管理員網頁警告是由 Web 執行時間驅動的,但occcron 作業使用的是 PHP 命令列介面 (CLI)。 ownCloud 的文檔對此有明確的說明。
編輯:
sudo nano /etc/php/7.4/cli/php.ini
放:
memory_limit = 512M
然後進行核實:
php -r 'echo ini_get("memory_limit"), PHP_EOL;'
對於 CLI PHP,您無需重新啟動服務,因為每次 CLI 呼叫都會啟動一個新進程。但是,如果您的 cron 作業明確地呼叫了另一個 PHP 二進位文件,請驗證該二進位檔案的具體名稱,而不是想當然地認為/usr/bin/php它就是正在使用的那個。
ownCloud 建議occ以 HTTP 使用者身分執行,通常www-data在 Debian/Ubuntu 系統上如此。其官方 occ 文件也警告說,occ如果安裝了多個 PHP 版本,則應使用與 Web 伺服器相同的 PHP 版本。

OWNCLOUD_MEMORY_LIMIT=512M在容器環境中進行設定並重新建立服務,以便更新產生的 PHP 配置。對於官方的 ownCloud Docker 映像,請使用文件中記錄的環境變數:
environment:
OWNCLOUD_MEMORY_LIMIT: 512M
然後重新建立該服務:
docker compose up -d
不要php.ini在臨時容器內進行主要修復。容器重建可能會遺失這些變更。官方的 ownCloud Docker 環境文件定義OWNCLOUD_MEMORY_LIMIT=512M並建議保持此預設設定。
如果 Docker 主機本身記憶體限制嚴格,也要檢查容器的限制:
docker stats
PHP 512MB 的記憶體限制並不會神奇地為容器分配 512MB 的可用記憶體;它只是允許單個 PHP 請求最多消耗這麼多記憶體。容器和主機仍然需要足夠的記憶體來支援所有並發的 PHP 工作進程和其他服務。

重新啟動相關服務後,重新檢查臨時 phpinfo 頁面或 ownCloud 管理概覽。然後刪除 phpinfo 頁面。
如果您更改了 PHP-FPM,請檢查:
sudo systemctl status php7.4-fpm
sudo systemctl status nginx
如果您更改了 Apache:
sudo systemctl status apache2
刷新 ownCloud 管理頁面。如果 ownCloud 現在以至少預期的限制運行,則警告應該會消失。

跑步:
free -h
ps aux | grep php-fpm
vmstat 1
PHP 的memory_limit內存上限是針對每個腳本的,它並非預留內存,也與伺服器所需的 RAM 容量不同。如果您有 20 個 PHP 工作進程,並且允許每個請求使用非常大的內存,那麼理論上的最壞情況可能會遠遠超過伺服器的 RAM 容量。
ownCloud 的調優文件對 Web 伺服器進程也提出了同樣的警告:應控制進程數量,使總記憶體使用量低於可用 RAM,否則系統將開始使用交換空間,導致效能下降。請參閱ownCloud Classic 調校指南。
如果 512M 警告消失且正常運作正常,就沒有理由為了增加數值而提高限制。
清除推薦警告和記憶體耗盡崩潰是不同的問題。如果日誌包含以下訊息:
PHP Fatal error: Allowed memory size of ... bytes exhausted
確定觸發該問題的操作。大型掃描、加密作業、外部儲存操作、影像處理或第三方應用程式的記憶體佔用情況可能大不相同。
檢查 ownCloud 的日誌和 PHP/Web 伺服器的錯誤日誌。標準的 ownCloud 安裝會在配置的資料目錄下寫入自己的日誌,通常位於 `/etc/ownCloud/log/` data/owncloud.log。不要將“增加到 1G”視為下一步的自動操作。首先要確定相同的操作是否重複達到記憶體上限。
如果某個已知的管理任務確實需要更多內存,那麼有針對性的 CLI 覆蓋可能比全局地給每個 Web 請求設置很大的內存限制更安全:
php -d memory_limit=1G occ <command>
僅當了解命令和記憶體行為時才使用此方法。它無法修復透過 PHP-FPM 或 Apache 運行的 Web 請求。
| 症狀 | 可能原因 | 下一步檢查 |
|---|---|---|
php -r顯示 512M,ownCloud 仍顯示 128M | 您僅更改了 CLI PHP。 | 檢查瀏覽器phpinfo及其已載入的設定檔。 |
| FPM 檔案顯示大小為 512M,但瀏覽器仍顯示為 128M。 | Pool.user.ini或其他 INI 檔案會覆蓋它 | 檢查 phpinfo “local” 和 “master” 值以及其他解析的 INI 檔案。 |
| 數值僅在重啟後發生變化 | 正確的服務未重啟。 | 編輯完成後,請明確重新啟動 PHP-FPM 或 Apache。 |
| 重新建立後,Docker 值將恢復為舊設定。 | 您在容器內進行了編輯。 | OWNCLOUD_MEMORY_LIMIT在 Compose 或部署環境中設定。 |
| 警告消失,但伺服器開始交換資料。 | PHP 並發超出主機內存 | 減少工作線程數、優化工作負載或增加記憶體。 |
memory_limit,,upload_max_filesize並且post_max_size解決的是不同的問題。增加 PHP 記憶體並不會自動允許使用者上傳更大的檔案。 ownCloud 10.16 的配置說明單獨指出,post_max_size應將記憶體配置為至少 512 MB(文件中規定的最低要求),並解釋上傳限制需要單獨設定。
如果實際症狀是“大檔案上傳失敗”,請檢查upload_max_filesize代理程式post_max_size/網路伺服器的請求體大小限制、逾時時間和臨時磁碟容量。不要用更高的值memory_limit來取代這些控制措施。
memory_limit至少設定為512M.occ如果cron 使用了較低的限制,也請更新 CLI PHP 。OWNCLOUD_MEMORY_LIMIT=512M在部署環境中進行設定。解決 ownCloud 10 中「PHP 記憶體限制低於建議值」問題的根本方法是,將實際執行 ownCloud 的 PHP 運行時的記憶體限制設為 512 MB 或更高,然後從同一執行時間驗證結果。最常見的錯誤是在/etc/php/.../cli/php.iniownCloud 透過 PHP-FPM 或 Apache 運行,並且使用了不同的設定檔時進行編輯。
一旦警告消失、日常操作正常且主機記憶體餘量充足,即可停止操作。如果 PHP 在特定操作期間仍然耗盡 512 MB 內存,則應從「提高內存限制」轉向工作負載診斷:檢查失敗的命令、應用程式、日誌、並發情況和實體記憶體。更大的記憶體限制可能適用,但前提是工作負載需要更高的限制,並且伺服器能夠安全地支援該限制。
比較 10 款 ping 掃描工具,它們可用於快速發現區域網路、跨平台掃描和 IP 位址管理。了解掃描可以告訴您什麼,以及不能告訴您什麼。
比較六款網路管理工具的效能監控功能,包括 SNMP 覆蓋範圍、映射、警報、部署模型和成本權衡。
比較適用於 Windows、iPhone 和 Android 的 Wi-Fi 分析器,包括頻道擁塞、訊號覆蓋範圍、熱圖和網路故障排除工具。
比較七款免費開源的 ping 監視器,從完整的網路套件到專注於延遲探測的工具,選擇最適合可用性、丟包率和歷史記錄的工具。
了解 QoS 在網路中的意義,DSCP 標記和流量佇列如何對語音、視訊和業務應用程式進行優先排序,以及 QoS 無法解決的問題。
比較適用於 Windows 和 Linux 的可靠 SFTP 伺服器軟體,包括 OpenSSH、Bitvise、SolarWinds 和 SFTPGo。尋找最適合您的安全性和文件傳輸需求的軟體。
比較七款 IP 位址管理工具,包括子網路發現、DNS 和 DHCP 協調、網路清單和開源 IPAM。
建置實用的網路監控,提供清晰的設備覆蓋範圍、有用的效能指標、可操作的警報,並對 SolarWinds NPM、PRTG 和 OpManager 進行比較。
比較網路掃描工具,以實現快速設備發現、跨平台 IP 掃描和企業級 IPAM,並指導如何將每個選項與您的網路相符。
使用 Nmap 的 --traceroute 選項將躍點對應到授權主機,了解躍點和 RTT 輸出,並在不進行過度掃描的情況下排查缺失的回應。