小型伺器記憶體不足解決方案 –AWS EC2 伺服器設定swap交換空間

我自己喜歡架設各種網路服務供自己自娛自樂,在一台AWS EC2虛擬機上上架設了 Nextcloud, WordPress, Postfix, Dovecot, MariaDB, Nginx, 等等的服務。由於我的機器只有1GB的ram, 常常會碰到記憶體不足MariaDB資料庫崩潰的情況。這時如果設定好swap交換空間,就能大大降低服務中斷的情況。雖然使用硬碟當成swap會降低快取的效能,不過因為是自用,這點效能降低換取服務不中斷,還是很划算的!

首先,你要在EC2 頁面上新增個磁盤空間,大小就設定為記憶體的兩倍就好。像我就是設成2GB。 接下來請把這個新建好的空間掛載(attach)到你的伺服器上。這些設定都在EC2 的界面上就能操作完成,我就不多展示了。

這時用SSH連線進入你的純文字後台,輸入

lsblk

你就會看見你新增的磁區

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS

nvme0n1     259:0    0    2G  0 disk
nvme1n1     259:1    0   15G  0 disk
└─nvme1n1p1 259:2    0   15G  0 part /

這是我的例子,其中nvme0n1就是我新增要用作SWAP的磁區。這時請輸入

sudo mkswap /dev/nvme0n1

其中nvme0n1請代換成你新增磁區的代號

然後再輸入

sudo swapon /dev/nvme0n1

如果這時你用 lsblk 看到

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS

nvme0n1     259:0    0    2G  0 disk [SWAP]

在MOUNTPOINTS 有看到[SWAP] 就表示你已經將新增的磁區掛載上了。

此時你可以用 top 指令來看看是否swap有在運作

top

如果你看到下面這一行就代表成功了

MiB Swap:   2048.0 total,   2030.5 free,     17.5 used.    235.1 avail Mem

其中total 前面要顯示你新掛載磁區的大小才是正確的,掛載失敗total會顯示0

最後你要將開機就掛載設定好。

這時最好使用UUID 來掛載磁區,請用以下指令來查你剛掛上的磁區的UUID

sudo blkid

找到你剛掛上的磁區的UUID

接著請輸入

sudo nano /etc/fstab

並新增下面這一行

UUID=”YOURUUIDHERE” none swap sw 0 0

Ctrl + X 存檔。

這裡記得把雙引號中間的字串改成你自己的UUID,不然每次重開機都會出問題。

第八年

時間過的真快,轉眼我就已經在美國待了八年了。

成年後超過三分之一的時間是在美國渡過的,都快忘記在台灣的生活了。

每天都要面對以前不敢想像的英文環境,漸漸的也不感到害怕。

每天都很忙很累,也不能像以前一樣的享受私人的時間。

不過看著小孩一天一天長大,一切的辛苦都值得了!

求主繼續帶領我與我們家下一個八年!

生活的新篇章

來到休士頓也已經超過八個月了,大部分的事情也已經漸漸熟悉,
老婆也找到了工作開始上班,小孩也都送進daycare。
感謝神!牧恩一下子就適應了daycare的生活,哭鬧的很少。

雖然每天早上都得早早出門,花8-90分鐘開車送妻小上班上學。
晚上也是要六點半左右才能到家,不過心裡有越來越踏實的感覺。
求主繼續帶領我們家前面的道路

休士頓

轉眼間,來到休士頓已經一個月了。
漸漸習慣這裡的生活,全家也快要搬過來了。
六年來,從什麼都沒有,現在老婆小孩綠卡工作都有了。
回頭想想,當初真的沒預料到會在美國生根,
也沒想到我的能力會受到肯定。托福是低空飛過,GRE慘不忍睹。
感謝神!我想當初我的指導教授收了我當學生時,
我相信他也沒想到我會給他的實驗室帶來這麼多的幫助。
神的帶領總是最好的,前面的道路依然有很多挑戰,求神繼續帶領。
也求神讓我們家能成為福音的出口,讓我們受的祝福為神所用!
希望我們在這的新生活能夠一切順利!

畢業了

花了六年的時間,終於在今年畢業了。

從一個人單身到美國,到現在結婚有兩個小孩,一切跟夢一樣。

神的帶領真是超乎人的想像。

人生的下一站會到休士頓,一年後又會在哪呢?

原本沒有美國夢,可是現在正在編織這個夢,與心愛的老婆與小孩一起。

有神與我們同在,我們不論在何處,都在編織天國夢!

What is “impossible”

If someone says:

“That’s impossible”

You should understand it as:

“According to my very limited experience and narrow understanding of reality,

that’s very unlikely.”

 

This quote is from Mr. Jamie’s blog.

 

馬太福音 19:26: 耶穌看著他們說:“在人這是不能的,在神凡事都能。”

因為我們的神是全知全能的神!