Linux SWAP 的設定建議值,在最早的書籍、文件教學都是建議設定為記憶體(RAM)的兩倍~
不過隨著記憶體越來越大,反而就建議 SWAP 的設定值就不要太大,畢竟吃到 SWAP 整台 機器的 IO 都會重不少~
原本想法應該是,記憶體使用滿,系統才會去使用到 SWAP,不過,仔細看看常常都是記憶體還很多,卻已經開始吃 SWAP,到底是怎麼回事呢?
個人筆記, 記錄關於 系統、程式、新聞 與 日常生活 等資訊
Linux SWAP 的設定建議值,在最早的書籍、文件教學都是建議設定為記憶體(RAM)的兩倍~
不過隨著記憶體越來越大,反而就建議 SWAP 的設定值就不要太大,畢竟吃到 SWAP 整台 機器的 IO 都會重不少~
原本想法應該是,記憶體使用滿,系統才會去使用到 SWAP,不過,仔細看看常常都是記憶體還很多,卻已經開始吃 SWAP,到底是怎麼回事呢?
Linux Kernel 4.20 修正了 Intel CPU 的多個 Bug,卻造成 CPU 效能嚴重下跌,某些效能甚至跌 30%。
微軟 (Microsoft) 的 Windows 10 支援 x86、x64、ARM 和 ARM64 的架構,而且能在桌機、手機、Server 都可以執行,它的架構是如何設計,讓所有作業系統的模組能夠最大化的重複利用呢?
Windows Kernel 團隊在官方部落格有將作法公開,有興趣可以參考看看~
Debian stretch 目前的 Linux kernel 是 4.8 版,user 直接執行 dmesg 已經不被允許,會有下述訊息:
dmesg: read kernel buffer failed: 此項操作並不被允許
需要 root 或使用 sudo 才能讀取,例如:
想要讓一般 user 可以正常執行 dmesg,可於 sysctl 設定下述參數即可:
註:0 是一般 user 可以直接使用,1 是一般 user 不允許操作
設定步驟
詳見:Kernel.txt,下述摘錄自此篇:
dmesg_restrict:
This toggle indicates whether unprivileged users are prevented from using dmesg(8) to view messages from the kernel's log buffer.
When dmesg_restrict is set to (0) there are no restrictions. When dmesg_restrict is set set to (1), users must have CAP_SYSLOG to use dmesg(8).The kernel config option CONFIG_SECURITY_DMESG_RESTRICT sets the default value of dmesg_restrict.
前陣子有台機器遇到 systemd 有問題(註:Linux systemd 取消卡住的工作),但是問題找不出來,想說要找時間重新開機解決,沒想到連重新開機都是個大問題。
Linux 更新 Kernel 最麻煩的地方就是需要重新開機,但是 Server 要重新開機是一件很複雜的事情,平常在跑的服務不能停,想重新開機都得要另外安排時間,所以就會需要找備援機器來替代,達到 0 downtime。
Linux 4.0 以後,這個問題應該就可以盡量避免了,之後更新 Kernel 就不需要重新開機囉~ (更換硬體應該還是會需要重開機)
註:不過如果機器沒事的話,偶爾還是可以重開機看看,避免難得重開確開不了機的糗狀。 XD
ext4 是 Linux 的其中一種檔案系統格式, 這幾年我也都是使用此檔案格式~
但是最近 ext4 有個新的 patch 會造成在 3.4.14, 3.4.15, 3.5.7, 3.6.2, 3.6.3 的 Kernel 版本造成資料遺失的問題 (發生常見於: IO重、Reboot頻繁、常常 Mount / Unmount), 目前 ext4 開發者正在努力修復此 Bug.
註: Ubuntu 12.10 目前使用的是 3.5.0-17-generic 閱讀全文〈ext4 於某些 3.4~3.6 Kernel 會有資料遺失問題 - 2012〉
Linus 創造了 Linux kernel, 這篇文章寫他的管理方式: Linus on kernel management style (Posted October 6)
玩 Open Source 都值得參考看看?
蒐集幾篇好文章, 從電腦如何開機啟動、開機、記憶體對照, Kernel 如何管理記憶體等等的文章.
詳見下述: