1、
這是乙個傾向性的值,並不能完全避免
swap
的使用。該值的範圍是
0~100
,預設值是
60,當
時,會最大可能性盡量避免使用
swap。2、
innodb_flush_method
設為o_direct
innodb_flush_method
的選項有:
fdatasync
、o_dsync
、o_direct。
/* we disable os caching (o_direct) only ondata files */
if (type != os_log_file &&
srv_unix_file_flush_method == srv_unix_o_direct)
說明了除日誌檔案外,buffer pool都會繞過cache,直接對應磁碟。但是日誌檔案還是會寫入cache中。也有可能會使用swap,但是由於mysql的log是覆蓋迴圈寫入的,因此影響並不會很大。 3、
memlock
強制使用物理記憶體
memlock
將不會使用
swap
,但是必須以
root
使用者啟動
mysql
,侷限性較大。
解決方法:l重啟
swap 1、
free
檢視是否有記憶體足以存放
swap
中的資料
total
used free shared buffers cached
mem:
64410 64117 292 0 127 9846
-/+buffers/cache:
54143 10267
swap:
12287 3346 8941
注:mem
中的free
並沒有實際意義,它用於表示未被分配為
buffer/cache
的記憶體大小,而這裡我們需要關注的是
buffer/cache
中free
的大小,該大小大於
swap
中used
的大小,方可重啟
swap
,不然mysql
程序可能會被強制關閉。
2、swapoff -a && swapon -a&
關閉,再開啟
swap
以上可能有所疏漏,但是為自己所理解,並會不斷改進,歡迎多多指教。
避免使用openurl時出現異常的解決方法
當使用cinternetsession openurl獲取網路上的檔案時,若網路異常或檔案不存在導致檔案訪問不了,openurl則會丟擲異常,而以捕獲異常的方式處理這個情況往往是不合理的。例如 加殼過的程式則有可能捕獲不了這個異常。於是,我們可以通過在使用openurl前先判斷指定的url是否可訪問...
動態修改swap大小的方法 使用swap檔案
1.首先用命令free檢視系統內 swap 分割槽大小。free m total used free shared buffers cached mem 1002 964 38 0 21 410 buffers cache 532 470 swap 951 32 929 可以看到 swap 只有95...
避免和解決ANR的方法
即應用無響應。anr一般有三種型別 1 keydispatchtimeout 5 seconds 主要型別 按鍵或觸控事件在特定時間內無響應2 broadcasttimeout 10 seconds broadcastreceiver 在特定時間內無法處理完成3 servicetimeout 20 ...