AWS — EC2 instance

Tinghuan Wang
summer's code life
Published in
3 min readMar 5, 2020

選擇ec2 可以分以下五種方式選擇:

  • RAM
  • CPU
  • I/O(disk performance, ENS optimisations)
  • Network(network bandwidth, network latency)
  • Graphical Processing Unit (GPU)

可以使用網站觀看每個instance內容。

RAM

RAM(random access memory)是電腦的“hot” memory,硬碟(Disk)是電腦的“cold” memory。RAM 比較貴且比較快通常用來快取資料,當電腦重新啟動的時候會清空。

Apache Spark用了很多RAM來處理大數據。

當記憶體不夠用的時候會出現以下兩種情況1. OutOfMemory 錯誤訊息。2. RAM會改用硬碟來存取(會變得非常的慢),這情就叫做swapping。

以下幾種便宜的EC2 machine 有大的RAM:

  • R generation(目前是R4)
  • X1

在linux 用以下的指令可以了解目前memory 使用狀態

free -m

以下的指令可以了解目前電腦運行的程式佔用的CPU和Memory。

top// 找出最耗記憶體的程式
shift + m

CPU(central processing unit)

中央處理器,負責處理電腦指令。cpu可以具有多核心(core),每個核心都是獨立的代表cpu可以多工。cpu也有頻率(GHz)代表旋轉的速度(越快越好)。

在linux每個核心代表100%(使用top指令),所以如果有4核心代表可以使用400%。

當你的機器需要大量計算時可以使用好一點的CPU。當你的程式是single thread那麼增加core並沒有任何幫助。

vCPU 代表有幾個核心(core)。

instance Monitoring 可以觀看cpu使用的程度

I/O(input / output)

指的是硬碟的讀和寫。當電腦啟動的時候會去硬碟讀取資料。

當你要使用instance建立資料庫或是需要儲存大量檔案的時候可以使用大一點的硬碟。

AWS上的EC2 如果是I 世代的(目前是I3) 可以用來ElasticSearch、NoSQL 資料庫…。 H或type D可用來MapReduce、HDFS、Big Data…

Amazon EC2 Master Class

可以從instance description看I/O的內容

GPU(Graphical processing unit)

用來計算螢幕color of the pixels。大部分的EC2 machine 沒有GPU,只有以下兩種 P-generation(P3 latest) 和 G-generation(G3 latest)

General Instances(M)

在RAM、CPU、Network 都取得平衡。M-generation (M5 latest)

--

--