360
June 3, 2012, 11:26pm
1
คิดว่าปัญหานี้หลายคนคงเจอ. โดยเฉพาะบริการ web hosting ที่ลูกค้าส่งเมล์กันมากมายก่ายกอง. วันนี้จะเสนอวิธีแก้ปัญหา spamd ใช้ cpu 100% และทำให้ load average พุ่งสูงแบบง่าย ๆครับ.
วิธีไม่มีอะไรมากคือจะ set nice level ให้จากเดิม 0 เป็น 5
vi /etc/init.d/spamassassin
หา code
daemon $NICELEVEL spamd $SPAMDOPTIONS -r $SPAMD_PID
แก้เป็น
daemon nice -n 5 spamd $SPAMDOPTIONS -r $SPAMD_PID
จากนั้นสั่ง restart spamd
/etc/init.d/spamassassin restart
เป็นอันเสร็จพิธี.
รูปประกอบ
jeedz
June 3, 2012, 11:52pm
2
มันคืออะไรครับ หลายๆคนคงอยากทราบ แฮะๆ
360
June 4, 2012, 1:02am
3
http://spamassassin.apache.org/
ระบบกรอง spam ที่ติดตั้งได้ง่ายบน directadmin
jeedz
June 4, 2012, 1:04am
4
อ่าผมหมายถึงที่ตั้งค่า อ่ะครับว่ามันหมายถึงอะไร
360
June 4, 2012, 1:15am
5
คือ การกำหนด nice level บน linux ให้กับ service ครับ ซึ่งมีตั้งแต่
-19 ไป 19 (ไม่แน่ใจว่าไปถึง 20 แล้วรึยัง)
ปัญหาของ spamd จะพบเวลาลูกค้าเริ่มเยอะ โดยเฉพาะเน้น การ รับ ส่ง เมล์.
ถ้าเป็นเฝ้าหน้า top แบบผมจะเห็น spamd ทำ cpu 100% อยู่บ่อย ๆ ครับ.
ดังนั้นจึงเพิ่มคำสั่งให้ ให้ spamd ทำงานใน priority ที่ต่ำลง ในที่นี้คือ -5
[edit by admin: ควรแก้ไข -5 เป็น +5 กรณีต้องการให้ priority ต่ำลงครับ]
คือ การกำหนด nice level บน linux ให้กับ service ครับ ซึ่งมีตั้งแต่
-19 ไป 19 (ไม่แน่ใจว่าไปถึง 20 แล้วรึยัง)
ปัญหาของ spamd จะพบเวลาลูกค้าเริ่มเยอะ โดยเฉพาะเน้น การ รับ ส่ง เมล์.
ถ้าเป็นเฝ้าหน้า top แบบผมจะเห็น spamd ทำ cpu 100% อยู่บ่อย ๆ ครับ.
ดังนั้นจึงเพิ่มคำสั่งให้ ให้ spamd ทำงานใน priority ที่ต่ำลง ในที่นี้คือ -5
กระจ่างเลย ว่าแต่มันจะส่งผลกระทบอะไรกับ spamd มั้ยหว่า
มีอะไรดีๆ มาฝากอีกแล้ว ขอบคุณมากๆ ครับ
360
June 4, 2012, 8:54am
8
มันเหมือนกำหนดว่า spamd จะใช้ cpu ได้สูงสุดไม่เกินเท่าไหร่น่ะครับ. ถ้าเป็น server ที่มีการรับส่งเมล์ไม่มาก แทบไม่เห็นความแตกต่าง. แต่ถ้า server ส่งเมล์กันเยอะ ก็จะช่วยควบคุมการใช้ cpu ของ spamd ซึ่งนั่นก็จะทำให้มันทำงานได้ช้าลงนิดหน่อย.
คีย์ “spamd high cpu” เป็นคีย์ที่ค้นเยอะเหมือนกันบน google. ลองหาเพิ่มเติมดูครับ
Hades
June 4, 2012, 9:52am
9
Nice ใช้กำหนดความสำคัญของโปรแกรมที่จะให้ใช้งาน CPU ครับ (Priority) ว่าถ้าตัวไหนมี Nice ต่ำกว่า ก็จะให้ทำงานไปก่อนครับ (-20 จะมีความสำคัญสูงสุด) แต่แปลกที่ว่ากำหนดจาก 0 ให้เป็น -5 ก็จะทำให้ Spamd มีความสำคัญมากขึ้นไปอีก กลายเป็น Services ตัวอื่นจะต้องหยุดให้ Spamd ทำงานไปก่อนนะครับ ที่ว่าช่วยนี่ กลายเป็นทำให้ Services อื่นๆช้าไปแทนหรือเปล่าครับ?
A niceness of −20 is the highest priority and 19 or 20 is the lowest priority.
nice is a program found on Unix and Unix-like operating systems such as Linux. It directly maps to a kernel call of the same name. nice is used to invoke a utility or shell script with a particular CPU priority, thus giving the process more or less CPU time than other processes. A niceness of -20 is the lowest niceness, or highest priority. The default niceness for processes is inherited from its parent process and is usually 0.
Systems have diverged on what priority is the lowest. Linux systems...
360
June 4, 2012, 10:01am
10
ขอบคุณครับ เมื่อคืนมึนไปหน่อย.
ผมได้แก้ไข code ที่ /etc/init.d/spamassassin แทนการแก้จาก /etc/sysconfig/spamassassin
แนบรูปประกอบให้แล้ว