rm報錯0403-027:The parameter list is too long

來源:互聯網
上載者:User

eg:
#find /agent4.0/swap/ "*" | xargs -n 10 rm {} \;
刪除的過程會報檔案或目錄不存在的提示。但檔案總算被刪除了問題解決。

find: 0403-027 The parameter list is too long 這個錯誤資訊很讓人迷惑: 難道該目錄
下檔案太多了麼? 其實不是的, 問題出在那個 "*" 上,Korn Shell 預設把 * 作為
Metadata 處理進行了擴充進而這條語句被錯誤的解析我的操作平台是 AIX 5.3. 我不
確定這是和這個平台的 Korn Shell 有關
 
使用 ls / grep / find 等命令時侯因為萬用字元的使用, 一不小心就會遇到這樣的錯誤可
以通過對對象添加引號來禁止擴充 
 
另外有的時候 使用 rm 命令的時候也可能遇到:
 
rm:0403-027 The parameter list is too long.
這個錯誤的根本原因是因為 /usr/include/limits.h 定義系統核心 LINE_BUFSZ 限制如
果有大量檔案數需要刪除可以考慮用 xargs 的 -n 參數進行大量刪除.參考如下樣本:
 
find /backup/ -ctime 2 -print | xargs -n 10 rm {} \;

 

[DBAPP@root@/agent4.0/swap]#lsattr -E -l sys0 -a ncargs
ncargs 64 ARG/ENV list size in 4K byte blocks True
[DBAPP@root@/agent4.0/swap]#chdev -l sys0 -a ncargs=6
sys0 changed

0403-027 The parameter list is too long
時我們在執行rm或其它命令的時候,系統會報0403-027 The parameter list is too long的錯,如:
#find ./ -mtime +10 -name *.trc   ksh: /usr/bin/find: 0403-027 The parameter list is too long.

出現這種情況主要是因為AIX核心參數ncargs控制,ncargs參數說明如下:

ncargs 用途: 指定運行 exec() 子常式時,ARG/ENU 列表(大小為 4 KB 的塊)允許的最大大小。
值: 預設值:6;範圍:6 到 1024
顯示: lsattr -E -l sys0 -a ncargs
更改: chdev -l sys0 -a ncargs=NewValue
更改會立即效而且在引導期間儲存下來。
診斷: 使用者不可以執行任何附加的進程,因為傳遞給 exec() 系統調用的變元表太長。低預設值可能造成一些程式失敗並出現幅角列表太長錯誤訊息,在這種情況下,您可以嘗試使用以上的 chdev 命令增加 ncargs 值,然後重新運行該程式。
調整: 這是為了防止變元表過長引起 exec() 子常式失敗的一種機制。請注意,調整到一個較高 ncargs 值會對系統記憶體資源加一些額外的限制。

瞭解了0403-027錯誤,現在我們有討論兩種方法解決:
方法一:
  1.調高ncargs 值
#chdev -l sys0 -a ncargs=64

2.OK,可以刪除了
#rm *

3.工作做完,把參數調回原值
chdev -l sys0 -ncargs=4


方法二:使用遞迴式參數傳遞
 find ./ -mtime +10 -exec rm {} \;

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.