如何對Postfix進行資源控制
圖-Postfix
相信大家都用過Postfix,知道他是sendmail的延伸,那你們知道Postfix是如何進行使用資源控制的嗎,請跟我看下文。
通過特定的postfix配置參數,我們可以實現postfix運行時對所消耗的資源的靈活控制。可以通過以下幾個方面來控制postfix消耗的資源:
1. 限制內存中的對象的大小
要控制對內存資源的消耗,必須控制內存中對象的大小??梢杂靡韵碌膮祦磉M行對象大小的控制:
line_length_limit:控制讀入數據時每一行的大小,如果太長則強行將其分割成更短的行,太長的行在投遞時再重組。缺省值為2048 bytes。
header_size_limit:限制信頭長度。缺省值為102400bytes。
message_size_limit:限制postfix隊列文件的大小。缺省值為10240000 bytes。
queue_minfree:郵件隊列中可用的空間大小。缺省為無限制。建議該值***時message_size_limit的數倍以便于處理大郵件。
bounce_size_limit:限制某一郵件不可投遞時,返回給發件人不可投遞報告的大小,缺省值為50000 bytes。
2. 限制內存中對象的數目
qmgr_message_recipient_limit:設置內存中收件人地址的***數目。缺省值為10000。
qmgr_message_active_limit:設置active郵件隊列中郵件數目的***值。缺省值為1000。
duplicate_filter_limit:設置需要local和cleanup后臺程序記住的收件人地址的***數目。缺省值為1000。
3.限制等待一個外部命令完成的時間
command_time_limit:設置local程序等待一個外部命令完成的時間。缺省值為1000秒。
4. 限制文件鎖定的操作時間
deliver_lock_attempts:設置鎖定一個文件的***嘗試次數。缺省值為5次。
deliver_lock_delay:設置如果鎖定一個文件失敗后再次嘗試的等待時間,缺省值為1秒。
5. 控制錯誤恢復
在某些情況下(如高負載),postfix的某個進程可能會死掉,這時master進程會試圖重新啟動該進程,我們可以通過下面的參數來控制這種行為:
fork_attempts:試圖重啟動一個進程的***嘗試次數。缺省值為5次。
fork_delay:每兩次嘗試之間的等待時間,缺省值為1秒。
transport_retry_time:隊列管理進程每兩次嘗試連接一個不正常的投遞代理進程之間的等待時間。缺省為60秒。
閱讀完文章,讀者會發現Postfix可以對五方面進行使用資源控制,希望大家能有所收獲!
【編輯推薦】
- Postfix對郵件的處理流程
- 如何安裝Postfix
- 為什么要有Postfix呢
- Sendmail Qmail Postfix 大比拼
- 為中小企業用戶配置Postfix
- 圖文并茂 Postfix后臺如何工作
- 如何安裝PostfixAdmin