天天看點

老男孩教育訓練視訊聽課筆記九(在51cto上聽的)--5.8 64bit 基礎優化

定時清理clientmqueue目錄垃圾檔案防止占滿磁盤空間:

/var/spool/clientmqueue  --這個目錄會自動建立很多的檔案,可以用下面的指令來清理

find /var/spool/clientmqueue/ –type  f | xargs rm –fr

mkdir /server/scripts –p

vim del.sh:

crontab -e

*/5 * * * * /sbin/ntpadte time.nist.gov >/dev/null 2>&1

00 00 * * 6 /bin/sh /server/scripts/del.sh >/dev/null 2>&1

補充:

/var/spool/clientmqueue 下生成太多檔案處理

<b>問題現象:</b>

linux作業系統中的/var/spool/clientmqueue/目錄下存在大量檔案。

<b>原因分析:</b>系統中有使用者開啟了cron,而cron中執行的程式有輸出内容,輸出内容會以郵件形式發給cron的使用者,而sendmail沒有啟動是以就産生了這些檔案;

<b>解決辦法:</b> <b>1、 将crontab裡面的指令後面加上&gt; /dev/null 2&gt;&amp;1</b>

<b>2、知識點:</b>

2&gt;:重定向錯誤。

2&gt;&amp;1:把錯誤重定向到輸出要送到的地方。即把上述指令的執行結果重定向到/dev/null,即抛棄,同時,把産生的錯誤也抛棄。

<b>3、具體代碼:</b>

(1)、# crontab -u cvsroot -l

01 01 * * * /opt/bak/backup

01 02 * * * /opt/bak/backup2

(2)、# vi /opt/bak/backup

#!/bin/sh

cd /

getfacl -R repository &gt; /opt/bak/backup.acl

(3)、# vi /opt/bak/backup2

week=`date +%w`

tar zcvfp /opt/bak/cvs$week/cvs.tar.gz /repository &gt;/dev/null 2&gt;&amp;1

<b>4、清除/var/spool/clientmqueue/目錄下的檔案:</b>

# cd /var/spool/clientmqueue

# rm -rf *

如果檔案太多,占用空間太大,用上面指令删除慢的話,就執行下面的指令:

# ls | xargs rm –f

調整核心參數檔案/etc/sysctl.conf

  說明:本優化針地apache等服務來實際

放在sysctl.conf的最後

生效:sysctl –p 指令來啟動生效

來源:

可以通過/etc/sysctl.conf控制和配置Linux核心及網絡設定。

# 避免放大攻擊

net.ipv4.icmp_echo_ignore_broadcasts = 1

# 開啟惡意icmp錯誤消息保護

net.ipv4.icmp_ignore_bogus_error_responses = 1

# 開啟SYN洪水攻擊保護

net.ipv4.tcp_syncookies = 1

# 開啟并記錄欺騙,源路由和重定向包

net.ipv4.conf.all.log_martians = 1

net.ipv4.conf.default.log_martians = 1

# 處理無源路由的包

net.ipv4.conf.all.accept_source_route = 0

net.ipv4.conf.default.accept_source_route = 0

# 開啟反向路徑過濾

net.ipv4.conf.all.rp_filter = 1

net.ipv4.conf.default.rp_filter = 1

# 確定無人能修改路由表

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.all.secure_redirects = 0

net.ipv4.conf.default.secure_redirects = 0

# 不充當路由器

net.ipv4.ip_forward = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

# 開啟execshild

kernel.exec-shield = 1

kernel.randomize_va_space = 1

# IPv6設定

net.ipv6.conf.default.router_solicitations = 0

net.ipv6.conf.default.accept_ra_rtr_pref = 0

net.ipv6.conf.default.accept_ra_pinfo = 0

net.ipv6.conf.default.accept_ra_defrtr = 0

net.ipv6.conf.default.autoconf = 0

net.ipv6.conf.default.dad_transmits = 0

net.ipv6.conf.default.max_addresses = 1

# 優化LB使用的端口

# 增加系統檔案描述符限制

fs.file-max = 65535

# 允許更多的PIDs (減少滾動翻轉問題); may break some programs 32768

kernel.pid_max = 65536

# 增加系統IP端口限制

net.ipv4.ip_local_port_range = 2000 65000

# 增加TCP最大緩沖區大小

net.ipv4.tcp_rmem = 4096 87380 8388608

net.ipv4.tcp_wmem = 4096 87380 8388608

# 增加Linux自動調整TCP緩沖區限制

# 最小,預設和最大可使用的位元組數

# 最大值不低于4MB,如果你使用非常高的BDP路徑可以設定得更高

# Tcp視窗等

net.core.rmem_max = 8388608

net.core.wmem_max = 8388608

net.core.netdev_max_backlog = 5000

net.ipv4.tcp_window_scaling = 1

=======================================

<code># turning system    </code>

<code>ulimit -HSn</code><code>65536</code>

<code>echo -ne "    </code>

<code>* soft nofile</code><code>65536</code>

<code>* hard nofile</code><code>65536</code>

<code>" &gt;&gt;/etc/security/limits.conf    </code>

<code></code>

<code># /etc/sysctl.conf    </code>

<code>cat &gt;&gt;/etc/sysctl.conf&lt;&lt;EOF    </code>

<code>net.ipv4.netfilter.ip_conntrack_max =</code><code>131072</code>

<code>net.ipv4.tcp_max_tw_buckets =</code><code>5000</code>

<code>net.ipv4.tcp_sack =</code><code>1</code>

<code>net.ipv4.tcp_window_scaling =</code><code>1</code>

<code>net.ipv4.tcp_rmem =</code><code>4096</code> <code>87380</code> <code>4194304</code>

<code>net.ipv4.tcp_wmem =</code><code>4096</code> <code>16384</code> <code>4194304</code>

<code>net.ipv4.tcp_max_syn_backlog =</code><code>65536</code>

<code>net.core.netdev_max_backlog = </code><code>32768</code>

<code>net.core.somaxconn =</code><code>32768</code>

<code>net.core.wmem_default =</code><code>8388608</code>

<code>net.core.rmem_default =</code><code>8388608</code>

<code>net.core.rmem_max =</code><code>16777216</code>

<code>net.core.wmem_max =</code><code>16777216</code>

<code>net.ipv4.tcp_timestamps =</code><code>0</code>

<code>net.ipv4.tcp_synack_retries =</code><code>2</code>

<code>net.ipv4.tcp_syn_retries =</code><code>2</code>

<code>net.ipv4.tcp_tw_recycle =</code><code>1</code>

<code>#net.ipv4.tcp_tw_len =</code><code>1</code>

<code>net.ipv4.tcp_tw_reuse =</code><code>1</code>

<code>net.ipv4.tcp_mem =</code><code>94500000</code> <code>915000000</code> <code>927000000</code>

<code>net.ipv4.tcp_max_orphans =</code><code>3276800</code>

<code>#net.ipv4.tcp_fin_timeout =</code><code>30</code>

<code>#net.ipv4.tcp_keepalive_time =</code><code>300</code>

<code>net.ipv4.ip_local_port_range =</code><code>1024</code> <code>65000</code>

<code>EOF</code>

=================================

這兒有個完整版本的優化文章:

繼續閱讀