因為開發上的方便,透過共用資料夾把檔案給 VM 裡的 Apache 使用。
但發生了即使檔案在 host 上已經變更了,透過在 guest 裡的 Apache 讀到的內容卻還是舊版本的狀況。
查了一下發現是要在 <Directory> 設定中加上下面兩個設定:
EnableMMAP Off
EnableSendfile Off
An apple a day keeps the doctors away.
因為開發上的方便,透過共用資料夾把檔案給 VM 裡的 Apache 使用。
但發生了即使檔案在 host 上已經變更了,透過在 guest 裡的 Apache 讀到的內容卻還是舊版本的狀況。
查了一下發現是要在 <Directory> 設定中加上下面兩個設定:
EnableMMAP Off
EnableSendfile Off
在對儲存裝置負載比較重的主機上,調整 I/O scheduler 很可能可以得到效能的改善。
要讀取目前所選取的 scheduler 只要執行 cat /sys/block/sda/queue/scheduler
即可,目前使用中的 scheduler 會用方括號標示出來。
在執行時期可以透過 echo "noop" > /sys/block/sda/queue/scheduler
來更改,不過這個變更重開機後會失效。
永久變更可以使用 sysfsutils 來針對特定裝置選用不同的排程器,或是直接改啓動時的 kernel 參數來變更系統預設選用的排程器。
因為我是要用在 VM 上面,不太有多個裝置要用不同組態的需求,所以我選擇使用改變 kernel 參數的方式。
基本上就是編輯位於 /etc/default/grub 的這個設定檔,修改 GRUB_CMDLINE_LINUX_DEFAULT 變數以加入 elevator=noop
選項:
GRUB_CMDLINE_LINUX_DEFAULT="elevator=noop quiet"
最後要記得執行 sudo update-grub
以更新線上的 grub 設定,不然設定不會生效。