Technology

Ddr RAM คืออะไร

ddr ram คอ
Ddr RAM คืออะไร | SiamCafe Blog
2026-05-12· อ. บอม — SiamCafe.net· 1,374 คำ

DDR RAM ทำงานอย่างไร

DDR (Double Data Rate) RAM เป็นหน่วยความจำแบบ SDRAM ที่ส่งข้อมูลทั้งขาขึ้นและขาลงของ clock signal ทำให้ได้ bandwidth เป็น 2 เท่าของ SDR RAM ที่ clock เดียวกัน ปัจจุบัน DDR มีพัฒนาการมาถึง DDR5 ที่ใช้ในเครื่องรุ่นใหม่ แต่ DDR4 ยังคงเป็นมาตรฐานที่ใช้กันมากที่สุด

RAM เป็น volatile memory คือข้อมูลหายเมื่อปิดเครื่อง CPU ใช้ RAM เป็นพื้นที่ทำงานชั่วคราวเพราะเร็วกว่า SSD/HDD หลายสิบเท่า โปรแกรมทุกตัวที่รันอยู่จะถูกโหลดจาก disk เข้ามาใน RAM ก่อน CPU จึงจะประมวลผลได้

เปรียบเทียบ DDR3 vs DDR4 vs DDR5

สเปคDDR3DDR4DDR5
ปีเปิดตัว200720142020
แรงดันไฟ1.5V1.2V1.1V
ความเร็ว800-2133 MHz2133-5333 MHz4800-8400+ MHz
Bandwidth สูงสุด17 GB/s25.6 GB/s67.2 GB/s
ความจุต่อแถบสูงสุด 16 GBสูงสุด 64 GBสูงสุด 128 GB
Pin count240 pins288 pins288 pins
Prefetch8n8n16n
ECC on-dieไม่มีไม่มีมี

ตรวจสอบ RAM ในเครื่อง Linux

# ดูข้อมูล RAM ทั้งหมด
sudo dmidecode -t memory | grep -E "Size|Type|Speed|Manufacturer|Serial"

# ตัวอย่าง output:
#   Size: 16 GB
#   Type: DDR4
#   Speed: 3200 MT/s
#   Manufacturer: Samsung
#   Serial Number: 12345678

# ดูจำนวน slot และ RAM ที่ใส่อยู่
sudo dmidecode -t memory | grep -c "Size: [0-9]"
# 2  (ใส่ 2 แถบ)

sudo dmidecode -t memory | grep -c "Size: No Module"
# 2  (ว่าง 2 slot)
# ดูการใช้งาน RAM แบบ real-time
free -h
#               total        used        free      shared  buff/cache   available
# Mem:           31Gi       8.2Gi        12Gi       256Mi        11Gi        22Gi
# Swap:         8.0Gi          0B       8.0Gi

# ดูรายละเอียดเพิ่มเติม
cat /proc/meminfo | head -20
# MemTotal:       32768000 kB
# MemFree:        12582912 kB
# MemAvailable:   23068672 kB
# Buffers:          524288 kB
# Cached:         10485760 kB
# SwapTotal:       8388608 kB
# SwapFree:        8388608 kB
# ดู RAM speed และ timing แบบละเอียด
sudo dmidecode -t memory | grep -A 20 "Memory Device" | head -40

# หรือใช้ lshw
sudo lshw -class memory -short
# H/W path       Device    Class      Description
# ================================================
# /0/0                     memory     32GiB System Memory
# /0/0/0                   memory     16GiB DIMM DDR4 3200 MHz
# /0/0/1                   memory     16GiB DIMM DDR4 3200 MHz

ตรวจสอบ RAM บน Windows

# PowerShell - ดูข้อมูล RAM
Get-CimInstance Win32_PhysicalMemory | Format-Table Manufacturer, PartNumber, Speed, Capacity, DeviceLocator

# ตัวอย่าง output:
# Manufacturer  PartNumber       Speed  Capacity     DeviceLocator
# Samsung       M471A2K43DB1-CWE 3200   17179869184  DIMM 0
# Samsung       M471A2K43DB1-CWE 3200   17179869184  DIMM 1

# ดูจำนวน slot ทั้งหมด
Get-CimInstance Win32_PhysicalMemoryArray | Select-Object MemoryDevices, MaxCapacity

# ดูข้อมูล RAM ละเอียด
wmic memorychip get BankLabel, Capacity, Speed, MemoryType, TypeDetail
:: CMD - ตรวจ RAM usage
systeminfo | findstr /C:"Total Physical Memory" /C:"Available Physical Memory"
:: Total Physical Memory:     32,768 MB
:: Available Physical Memory: 22,456 MB

:: ดูข้อมูลจาก task manager ผ่าน command line
tasklist /FI "MEMUSAGE gt 500000"
:: แสดง process ที่ใช้ RAM มากกว่า 500 MB

ทดสอบ RAM ด้วย Memtest86+

เมื่อสงสัยว่า RAM มีปัญหา (เครื่อง blue screen, restart เอง, ไฟล์เสียหาย) ต้องทดสอบด้วย Memtest86+

# วิธีที่ 1: ใช้ memtest86+ จาก Linux
# ติดตั้ง
sudo apt install memtester

# ทดสอบ RAM 4 GB (ต้องมี RAM ว่างพอ)
sudo memtester 4G 2
# จะรันทดสอบ 2 รอบ แต่ละรอบทดสอบ:
# Stuck Address, Random Value, Compare XOR,
# Compare SUB, Compare MUL, Compare DIV,
# Compare OR, Compare AND, Sequential Increment,
# Solid Bits, Block Sequential, Checkerboard,
# Bit Spread, Bit Flip, Walking Ones, Walking Zeroes

# วิธีที่ 2: Memtest86+ bootable USB
# ดาวน์โหลดจาก https://memtest.org/
# สร้าง bootable USB
sudo dd if=memtest86+-7.00.bin of=/dev/sdb bs=1M
# Boot จาก USB แล้วรันทดสอบอย่างน้อย 2 รอบ
# วิธีที่ 3: Windows Memory Diagnostic (built-in)
# เปิด Run (Win+R) แล้วพิมพ์:
mdsched.exe
# เลือก "Restart now and check for problems"
# เครื่องจะ restart แล้วรันทดสอบอัตโนมัติ

# ดูผลหลังจาก boot กลับเข้า Windows:
# Event Viewer > Windows Logs > System
# หา Source: MemoryDiagnostics-Results

เพิ่ม RAM หรืออัพเกรด — สิ่งที่ต้องรู้

# ตรวจสอบก่อนซื้อ RAM ใหม่

# 1. ดูว่า motherboard รองรับ DDR อะไร
sudo dmidecode -t baseboard | grep "Product Name"
# แล้วไปเช็คสเปค motherboard บนเว็บผู้ผลิต

# 2. ดูจำนวน slot ว่าง
sudo dmidecode -t memory | grep "Size"

# 3. ดูความเร็วสูงสุดที่รองรับ
sudo dmidecode -t memory | grep "Maximum Voltage\|Maximum Clock Speed"

# 4. ตรวจสอบว่าใช้ Dual Channel หรือไม่
# ใส่ RAM จำนวนเท่ากันใน slot สีเดียวกัน (slot 1+3 หรือ 2+4)
sudo dmidecode -t memory | grep "Bank Locator\|Size"
# Bank Locator: BANK 0    Size: 16 GB   ← slot 1
# Bank Locator: BANK 1    Size: No Module Installed
# Bank Locator: BANK 2    Size: 16 GB   ← slot 3
# Bank Locator: BANK 3    Size: No Module Installed

หลักการเลือก RAM

ตั้งค่า XMP/EXPO ใน BIOS เพื่อปลดล็อคความเร็ว RAM

RAM ที่ซื้อมาอาจรันที่ JEDEC speed (เช่น DDR4-2133) แม้จะเป็น DDR4-3200 ต้องเปิด XMP (Intel) หรือ EXPO (AMD) ใน BIOS เพื่อรันที่ความเร็วเต็ม

# ตรวจสอบว่า RAM รันที่ความเร็วเท่าไหร่จริงๆ
sudo dmidecode -t memory | grep -E "Configured Memory Speed|Speed"
# Speed: 3200 MT/s                    ← ความเร็วที่รองรับ
# Configured Memory Speed: 2133 MT/s  ← ความเร็วที่รันจริง (ยังไม่เปิด XMP!)

# ขั้นตอนเปิด XMP:
# 1. Restart เครื่อง กด DEL หรือ F2 เข้า BIOS
# 2. หาเมนู Overclocking หรือ AI Tweaker
# 3. หา XMP Profile (Intel) หรือ EXPO Profile (AMD)
# 4. เลือก Profile 1
# 5. Save and Exit

# ตรวจสอบหลังเปิด XMP:
sudo dmidecode -t memory | grep "Configured Memory Speed"
# Configured Memory Speed: 3200 MT/s  ← OK!

Monitor RAM Usage บน Server

# ดู process ที่ใช้ RAM มากที่สุด
ps aux --sort=-%mem | head -15

# ดู RAM ที่ process แต่ละตัวใช้จริง (RSS)
ps -eo pid, comm, rss --sort=-rss | head -10 | awk '{printf "%s\t%s\t%.1f MB\n", $1, $2, $3/1024}'

# ดู memory leak — ตรวจ RSS เพิ่มขึ้นเรื่อยๆ
watch -n 5 "ps -eo pid, comm, rss --sort=-rss | head -10"

# ตั้ง alert เมื่อ RAM ใช้เกิน 90%
cat > /usr/local/bin/check_ram.sh << 'EOF'
#!/bin/bash
THRESHOLD=90
USED=$(free | awk '/Mem:/ {printf "%.0f", $3/$2*100}')
if [ "$USED" -gt "$THRESHOLD" ]; then
    echo "WARNING: RAM usage at % on $(hostname)" | \
    mail -s "RAM Alert: $(hostname)" admin@example.com
fi
EOF
chmod +x /usr/local/bin/check_ram.sh

# เพิ่มใน crontab ให้ตรวจทุก 5 นาที
echo "*/5 * * * * /usr/local/bin/check_ram.sh" | sudo crontab -

FAQ - คำถามที่พบบ่อย

Q: DDR4 กับ DDR5 ใส่แทนกันได้ไหม?

A: ไม่ได้ ถึงแม้จะมี 288 pins เหมือนกัน แต่ตำแหน่ง notch (ร่องบากกลางแถบ) ต่างกัน motherboard ที่รองรับ DDR4 ใส่ DDR5 ไม่ได้ และในทางกลับกัน ต้องเลือก motherboard ให้ตรงกับ DDR ที่จะใช้

Q: RAM 32 GB จำเป็นไหมสำหรับการใช้งานทั่วไป?

A: สำหรับใช้งานทั่วไป (web, office, email) 16 GB เพียงพอ แต่ถ้าทำ video editing, รัน VM, เปิด browser หลายสิบ tab หรือเล่นเกมพร้อม stream ควรมี 32 GB สำหรับ server ที่รัน database หรือ container หลายตัวควรมี 64 GB ขึ้นไป

Q: Swap กับ RAM ต่างกันอย่างไร?

A: RAM เป็น hardware จริง เร็วมาก (DDR4-3200 = 25.6 GB/s) Swap เป็นพื้นที่บน disk ที่ OS ใช้เมื่อ RAM เต็ม ช้ากว่า RAM หลายเท่า (SSD SATA = 0.5 GB/s, NVMe = 3.5 GB/s) ถ้าเครื่องใช้ swap เยอะแสดงว่า RAM ไม่พอ ควรเพิ่ม RAM

Q: เปิด XMP แล้วเครื่อง unstable ทำอย่างไร?

A: ลองขั้นตอนนี้: (1) Reset BIOS เป็น default (2) เปิด XMP ใหม่แต่ลด speed ลง 1 ขั้น เช่น จาก 3600 เป็น 3200 (3) เพิ่ม DRAM voltage เล็กน้อย (DDR4 ไม่เกิน 1.45V) (4) เพิ่ม SOC/SA voltage เล็กน้อย (5) ถ้ายัง unstable อาจเป็นปัญหา compatibility ของ RAM กับ motherboard

📖 บทความที่เกี่ยวข้อง

Ddr RAM คืออะไร อะไรอ่านบทความ → installed ram คืออ่านบทความ → ram air turbine คืออ่านบทความ → ram 4 gb คืออ่านบทความ → ram bus คืออะไรอ่านบทความ →

📚 ดูบทความทั้งหมด →