hp_unix B11.31程式數過多
在HP Unix有兩個可以限制系統最大程式數的核心引數:maxuprc(max user processes)和nproc(the number of system processes);maxuprc只對普通使用者生效,對root使用者不生效,只有nproc才對root生效。
以下的這段日誌是因為普通使用者的maxuprc開的太大,即開成了maxuprc + 5 = nproc (最大值)而且應用程式發生了大量的殭屍程式(defunct)並達到了maxuprc的值引起的。基本所有的系統命令不能執行,root使用者也不能遠端登入。
GenericSysName [HP Release B.11.31] (see /etc/issue)
Console Login: root
Please wait...checking for disk quotas
could not execute quota command
- - - - - - - - - - - - Live Console - - - - - - - - - - - -
/etc/profile[30]: The fork function failed. Too many processes already exist.
/etc/profile[47]: The fork function failed. Too many processes already exist.
syslog中有proc table is full 的報錯,這說明nproc也用滿了。
發生這種情況之後,假如還有一個已登入的終端的話,可以用exec kill <proc id>來嘗試殺某個程式(猜吧),如果成功,ps就可以執行了。然後再做響應處理。
我當前的系統nproc預設值是4200,maxuprc的預設值是256。maxuprc比較容易滿,可以適當加大。
# kctune |grep nproc
nproc 4200 Default Immed
# uname -a
HP-UX hpux B.11.31 U 9000/800 1071694491 unlimited-user license
加大方法:
kctune maxuprc+=1024 (增加1024)
nproc大最大值我個人認為跟系統配置有關係,但肯定不能超過65535。
在HP-UX hpux B.11.31 U 9000/800 1071694491上調大maxuprc和nproc,不必重啟就可以工作。
# kctune nproc+=4000
==> Update the automatic 'backup' configuration first? y
* The automatic 'backup' configuration has been updated.
* Future operations will update the backup without prompting.
* The requested changes have been applied to the currently
running configuration.
Tunable Value Expression Changes
nproc (before) 4200 Default Immed
(now) 8200 8200
用下句來測試建立6000個程式:
i=1; while :; do nohup sleep 200 & ((i=$i + 1)); echo Now No is $i;if [ $i -eq 6000 ]; then echo === Now No is $i ====; break;fi; done
我的大致理解是這樣。在實際環境中還需要具體測試。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30208428/viewspace-2028379/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- localhost 重定向次數過多localhost
- hp_unix glance監控工具介紹
- poi匯出的excel的數字小數位過多?Excel
- spark task與stage數量過多調優Spark
- oracle 9.2.0.7 + hp_unix exp匯出報錯處理Oracle
- python多程式簡介,和VNPY多程式引數優化程式碼分析Python優化
- 事故記錄-過多程式致使CPU卡死
- 【Mysql】連線數過多,應急處理方法MySql
- Swoole 中通過 process 模組實現多程式
- 利用策略模式優化過多 if else 程式碼模式優化
- SpringMVC + Shiro重定向次數過多問題SpringMVC
- windows中socket 連結繫結數過多問題Windows
- update-alternatives符號連線的層數過多符號
- 查詢多張表記錄數的儲存過程儲存過程
- 通過 Swoole\Table 實現 Swoole 多程式資料共享
- MySQL 預插入的資料條數過多導致異常MySql
- 解決ajax請求引數過多導致引數被截斷的問題
- 編寫多執行緒應用程式,模擬多個人通過一個山洞:執行緒
- PHP網站警報,多種PHP程式過濾漏洞(轉)PHP網站
- 資料庫會話數量過多,定期清理inactive會話資料庫會話
- Linux中tcp連線數過多會造成什麼影響?LinuxTCP
- MySQL連線數過多導致服務無法正常執行MySql
- ORACLE未繫結變數和硬解析過多問題處理Oracle變數
- 通過行為引數化傳遞程式碼
- PHP多程式(4) :內部多程式PHP
- HttpClient引發的執行緒數過多導致應用崩潰HTTPclient執行緒應用崩潰
- jQuery通過多個屬性篩選元素程式碼例項jQuery
- Android通過繼承Binder類實現多程式通訊Android繼承
- 多執行緒程式設計介紹-條件變數執行緒程式設計變數
- 10g RAC 超過最大程式數的錯誤
- 【python隨筆】之【多程式並行統計多個cvs檔案行數】Python並行
- 多執行緒,多程式執行緒
- oracle儲存過程plsql_sp_多個out引數測試語法Oracle儲存過程SQL
- 在程式中定義多個同值不同名的變數變數
- 程式多開
- 透過低程式碼開發加速數字化轉型
- 如何為Kafka叢集確定合適的分割槽數以及分割槽數過多帶來的弊端Kafka
- PHP多程式程式設計(3):多程式抓取網頁的演示PHP程式設計網頁