Overclock CPU ทํายังไง — คู่มือ OC ซีพียู 2026
CPU Overclocking คือการเพิ่มความเร็วสัญญาณนาฬิกา (Clock Speed) ของ CPU ให้สูงกว่าค่า stock ที่โรงงานตั้งมา เพื่อเพิ่มประสิทธิภาพในการประมวลผล gaming และ content creation การ OC CPU เป็นวิธีเพิ่ม performance ที่คุ้มค่า โดยเฉพาะสำหรับ CPU ที่ปลดล็อค (Intel K-series, AMD Ryzen ทุกรุ่น) บทความนี้อธิบายวิธี overclock CPU ทั้ง Intel และ AMD ทีละขั้นตอน พร้อม Python tools สำหรับ monitoring และ benchmark
พื้นฐาน CPU Overclocking
# oc_basics.py — CPU overclocking fundamentals
import json
class OCBasics:
CONCEPTS = {
"clock_speed": {
"name": "Clock Speed (ความเร็วสัญญาณนาฬิกา)",
"description": "จำนวนรอบการทำงานต่อวินาที — หน่วย GHz (พันล้านรอบ/วินาที)",
"example": "Ryzen 7 7800X3D: Base 4.2 GHz, Boost 5.0 GHz",
},
"multiplier": {
"name": "Multiplier (ตัวคูณ)",
"description": "Clock Speed = BCLK × Multiplier เช่น 100 MHz × 50 = 5.0 GHz",
"how_to_oc": "เพิ่ม Multiplier ใน BIOS — วิธี OC หลัก",
},
"bclk": {
"name": "BCLK (Base Clock)",
"description": "ความเร็วพื้นฐาน — ปกติ 100 MHz (Intel) หรือ 100 MHz (AMD)",
"how_to_oc": "เพิ่ม BCLK ได้เล็กน้อย (100→103) แต่อาจ unstable",
},
"voltage": {
"name": "Vcore (CPU Core Voltage)",
"description": "แรงดันไฟที่จ่ายให้ CPU — เพิ่มเพื่อให้ stable ที่ clock สูง",
"warning": "Voltage สูง = ความร้อนสูง + อายุ CPU ลดลง",
},
"thermal": {
"name": "Thermal (ความร้อน)",
"description": "CPU ร้อนขึ้นเมื่อ OC — ต้องมีระบบระบายความร้อนดี",
"safe_temp": "Intel: < 100°C (throttle), AMD: < 95°C — แนะนำ < 85°C",
},
}
REQUIREMENTS = {
"cpu": "CPU ที่ปลดล็อค: Intel K/KF/KS series, AMD Ryzen (ทุกรุ่น OC ได้)",
"motherboard": "เมนบอร์ดที่รองรับ OC: Intel Z-series (Z790), AMD B/X series (B650, X670)",
"cooler": "ระบบระบายความร้อนดี: Tower cooler ขั้นต่ำ, AIO 240mm+ แนะนำ",
"psu": "PSU คุณภาพดี: 80+ Gold ขึ้นไป, กำลังเพียงพอ (650W+)",
"ram": "RAM คุณภาพดี — OC CPU + RAM พร้อมกันได้ performance สูงสุด",
}
def show_concepts(self):
print("=== OC Fundamentals ===\n")
for key, c in self.CONCEPTS.items():
print(f"[{c['name']}]")
print(f" {c['description']}")
print()
def show_requirements(self):
print("=== Requirements ===")
for key, req in self.REQUIREMENTS.items():
print(f" [{key}] {req}")
basics = OCBasics()
basics.show_concepts()
basics.show_requirements()
วิธี Overclock ทีละขั้น
# oc_steps.py — Step-by-step CPU overclocking
import json
class OverclockSteps:
STEPS = {
"step1": {
"name": "Step 1: เตรียมตัว",
"actions": [
"อัพเดท BIOS เป็นเวอร์ชันล่าสุด",
"ติดตั้ง monitoring tools: HWiNFO64, CPU-Z, CoreTemp",
"ติดตั้ง stress test: Cinebench R23, Prime95, OCCT",
"บันทึก stock performance (Cinebench score) เป็น baseline",
"ตรวจสอบระบบระบายความร้อน — ทำความสะอาด dust",
],
},
"step2": {
"name": "Step 2: ทดสอบ Stock",
"actions": [
"รัน Cinebench R23 Multi-core — จด score",
"ดู temperature ขณะ load — ต้อง < 85°C",
"ดู stock voltage (Vcore) ขณะ load",
"ถ้า stock temp > 90°C → ต้องปรับปรุง cooling ก่อน",
],
},
"step3": {
"name": "Step 3: ตั้ง Multiplier",
"actions": [
"เข้า BIOS (กด Del หรือ F2 ตอน boot)",
"หา CPU Ratio/Multiplier settings",
"เพิ่ม All-Core multiplier ทีละ 1 (เช่น 50 → 51)",
"ตั้ง CPU Load-Line Calibration (LLC) = Level 4-5",
"Save & Exit → boot เข้า Windows",
],
},
"step4": {
"name": "Step 4: Stress Test",
"actions": [
"รัน Cinebench R23 — ถ้าผ่าน = เพิ่ม multiplier อีก",
"ถ้า BSOD/freeze → เพิ่ม Vcore 0.01V แล้วลองใหม่",
"รัน Prime95 Small FFTs 30 นาที — ทดสอบ stability",
"ดู temperature — ต้อง < 90°C ขณะ stress test",
"ถ้า temp > 95°C → ลด voltage หรือ multiplier",
],
},
"step5": {
"name": "Step 5: Fine Tune",
"actions": [
"เมื่อหา max multiplier ได้แล้ว → ลด Vcore ทีละ 0.01V",
"ลดจนกว่าจะ crash → เพิ่มกลับ 0.01-0.02V = sweet spot",
"รัน Prime95 1 ชั่วโมง หรือ OCCT 30 นาที = final test",
"ทดสอบ real-world: เล่นเกม 2-3 ชั่วโมง",
"Monitor temp ด้วย HWiNFO64 ตลอด",
],
},
}
INTEL_GUIDE = {
"cpu": "Intel 14th Gen (i7-14700K, i9-14900K)",
"method": "Per-core OC หรือ All-Core",
"safe_voltage": "1.25-1.35V (ไม่เกิน 1.40V)",
"typical_oc": "i7-14700K: 5.5-5.8 GHz all-core",
}
AMD_GUIDE = {
"cpu": "AMD Ryzen 7000/9000 series",
"method": "PBO (Precision Boost Overdrive) + Curve Optimizer — แนะนำ",
"safe_voltage": "PBO จัดการ voltage อัตโนมัติ — ปลอดภัยกว่า manual OC",
"typical_oc": "Ryzen 7 7800X3D: PBO + CO -30 = +5-10% performance",
}
def show_steps(self):
print("=== Overclock Steps ===\n")
for key, step in self.STEPS.items():
print(f"[{step['name']}]")
for action in step['actions'][:3]:
print(f" • {action}")
print()
def show_guides(self):
print("=== Platform Guides ===")
print(f"\n[Intel] {self.INTEL_GUIDE['cpu']}")
print(f" Method: {self.INTEL_GUIDE['method']}")
print(f" Safe Voltage: {self.INTEL_GUIDE['safe_voltage']}")
print(f"\n[AMD] {self.AMD_GUIDE['cpu']}")
print(f" Method: {self.AMD_GUIDE['method']}")
print(f" Typical: {self.AMD_GUIDE['typical_oc']}")
steps = OverclockSteps()
steps.show_steps()
steps.show_guides()
AMD PBO & Curve Optimizer
# amd_pbo.py — AMD PBO and Curve Optimizer guide
import json
class AMDPBO:
PBO_SETTINGS = {
"pbo_enabled": {
"name": "PBO (Precision Boost Overdrive)",
"description": "ให้ CPU boost เกิน spec อัตโนมัติ — AMD จัดการ voltage เอง",
"settings": {
"PPT": "Package Power Tracking — เพิ่ม 10-15% จาก default",
"TDC": "Thermal Design Current — เพิ่ม 10-15%",
"EDC": "Electrical Design Current — เพิ่ม 10-15%",
},
},
"curve_optimizer": {
"name": "Curve Optimizer (CO)",
"description": "ลด voltage ต่อ core — ได้ performance เพิ่มโดยไม่เพิ่มความร้อน",
"steps": [
"BIOS → AMD Overclocking → Curve Optimizer",
"ตั้ง All Core → Negative",
"เริ่มที่ -10 → stress test → ถ้า stable เพิ่มเป็น -15, -20, -25, -30",
"ค่า -25 ถึง -30 คือ sweet spot ของ CPU ส่วนใหญ่",
"ถ้า BSOD → ลดกลับทีละ 5 (เช่น -30 → -25)",
],
},
"expo": {
"name": "EXPO (Extended Profiles for Overclocking)",
"description": "XMP สำหรับ AMD — เปิดเพื่อให้ RAM ทำงานที่ rated speed",
"action": "BIOS → EXPO Profile → Enable",
},
}
TESTING = {
"corecycler": {
"name": "CoreCycler",
"description": "ทดสอบ Curve Optimizer ทีละ core — หา optimal CO per core",
"duration": "6-12 ชั่วโมง (ทดสอบทุก core)",
},
"cinebench": {
"name": "Cinebench R23",
"description": "Multi/Single core benchmark — วัด performance gain",
"duration": "10 นาที",
},
"prime95": {
"name": "Prime95 Small FFTs",
"description": "Stress test หนักที่สุด — ทดสอบ stability",
"duration": "30-60 นาที",
},
}
def show_pbo(self):
print("=== AMD PBO & Curve Optimizer ===\n")
for key, setting in self.PBO_SETTINGS.items():
print(f"[{setting['name']}]")
print(f" {setting['description']}")
if 'steps' in setting:
for step in setting['steps'][:3]:
print(f" • {step}")
print()
def show_testing(self):
print("=== Testing Tools ===")
for key, tool in self.TESTING.items():
print(f" [{tool['name']}] {tool['description']} ({tool['duration']})")
pbo = AMDPBO()
pbo.show_pbo()
pbo.show_testing()
Python Monitoring Tools
# monitoring.py — Python CPU monitoring tools
import json
class CPUMonitor:
CODE = """
# cpu_monitor.py — Monitor CPU during overclocking
import subprocess
import json
import time
from datetime import datetime
class CPUOverclockMonitor:
def __init__(self):
self.log = []
def get_cpu_info(self):
'''Get CPU info using wmic'''
try:
result = subprocess.run(
['wmic', 'cpu', 'get',
'Name, CurrentClockSpeed, MaxClockSpeed, NumberOfCores, NumberOfLogicalProcessors',
'/format:list'],
capture_output=True, text=True
)
info = {}
for line in result.stdout.strip().split('\\n'):
if '=' in line:
key, val = line.strip().split('=', 1)
info[key] = val
return info
except Exception as e:
return {"error": str(e)}
def monitor_temps(self, duration_seconds=60, interval=5):
'''Monitor CPU temps over time (requires HWiNFO or OpenHardwareMonitor)'''
readings = []
start = time.time()
while time.time() - start < duration_seconds:
timestamp = datetime.now().isoformat()
# Use PowerShell to get CPU load
result = subprocess.run(
['powershell', '-Command',
'Get-CimInstance Win32_Processor | Select LoadPercentage'],
capture_output=True, text=True
)
load = 0
for line in result.stdout.strip().split('\\n'):
line = line.strip()
if line.isdigit():
load = int(line)
readings.append({
'timestamp': timestamp,
'cpu_load_pct': load,
})
print(f"[{timestamp}] CPU Load: {load}%")
time.sleep(interval)
return readings
def benchmark_comparison(self, stock_score, oc_score):
'''Compare stock vs OC performance'''
gain = oc_score - stock_score
gain_pct = (gain / stock_score) * 100
return {
'stock_score': stock_score,
'oc_score': oc_score,
'gain': gain,
'gain_pct': round(gain_pct, 1),
'worth_it': gain_pct > 5,
'verdict': 'Worth it!' if gain_pct > 5 else 'Marginal gain',
}
def voltage_temp_table(self, readings):
'''Create voltage vs temp table'''
# readings: list of {voltage, temp, clock}
print(f"{'Voltage':<10} {'Temp':<10} {'Clock':<10} {'Status'}")
print("-" * 45)
for r in readings:
status = 'OK' if r['temp'] < 85 else 'HOT' if r['temp'] < 95 else 'DANGER'
print(f"{r['voltage']:<10} {r['temp']:<10} {r['clock']:<10} {status}")
# monitor = CPUOverclockMonitor()
# info = monitor.get_cpu_info()
# comparison = monitor.benchmark_comparison(stock_score=15000, oc_score=17500)
"""
def show_code(self):
print("=== CPU Monitor ===")
print(self.CODE[:600])
monitor = CPUMonitor()
monitor.show_code()
Troubleshooting
# troubleshooting.py — OC troubleshooting guide
import json
class OCTroubleshooting:
PROBLEMS = {
"bsod": {
"problem": "BSOD (จอฟ้า) หลัง OC",
"causes": ["Voltage ไม่พอ", "Multiplier สูงเกินไป", "RAM unstable"],
"fixes": [
"เพิ่ม Vcore 0.01-0.02V",
"ลด Multiplier ลง 1",
"ตรวจสอบ RAM stability แยก",
"เพิ่ม LLC (Load-Line Calibration)",
],
},
"high_temp": {
"problem": "อุณหภูมิสูงเกินไป (> 95°C)",
"causes": ["Voltage สูงเกินไป", "Cooler ไม่ดีพอ", "Thermal paste เก่า"],
"fixes": [
"ลด Vcore — หา minimum stable voltage",
"อัพเกรด cooler (AIO 240mm+)",
"ทา thermal paste ใหม่",
"ปรับปรุง airflow ในเคส",
],
},
"no_boot": {
"problem": "คอมไม่ boot หลัง OC",
"causes": ["Settings aggressive เกินไป", "Voltage ผิดพลาด"],
"fixes": [
"Clear CMOS: ถอดถ่าน CMOS 30 วินาที หรือกดปุ่ม Clear CMOS",
"BIOS จะ reset เป็น default — เริ่ม OC ใหม่",
"บางเมนบอร์ดมี BIOS Flashback — ใช้ USB flash BIOS",
],
},
"unstable_games": {
"problem": "เกม crash แต่ stress test ผ่าน",
"causes": ["Stress test ไม่ครอบคลุมทุก workload", "Mixed workload unstable"],
"fixes": [
"รัน OCCT Medium/Large FFTs (ไม่ใช่แค่ Small)",
"ทดสอบด้วย y-cruncher (mixed workload)",
"เพิ่ม Vcore อีก 0.01-0.02V",
"ลอง per-core OC แทน all-core",
],
},
}
def show_problems(self):
print("=== Troubleshooting ===\n")
for key, p in self.PROBLEMS.items():
print(f"[{p['problem']}]")
print(f" Fixes:")
for fix in p['fixes'][:2]:
print(f" • {fix}")
print()
trouble = OCTroubleshooting()
trouble.show_problems()
FAQ - คำถามที่พบบ่อย
Q: Overclock CPU เสี่ยงไหม?
A: ความเสี่ยงต่ำถ้าทำถูกวิธี: ไม่เกิน voltage ที่แนะนำ (Intel < 1.40V, AMD ใช้ PBO) อุณหภูมิไม่เกิน 90°C ขณะ load ถ้า settings ไม่ stable: Clear CMOS กลับ default ได้เสมอ ความเสี่ยงจริง: degradation ถ้าใช้ voltage สูงนาน (ปีๆ) — แนะนำ conservative settings
Q: CPU ทุกตัว OC ได้ไหม?
A: Intel: เฉพาะ K/KF/KS series (เช่น i7-14700K) — non-K OC ไม่ได้ AMD Ryzen: ทุกรุ่น OC ได้ — แต่แนะนำ PBO + Curve Optimizer แทน manual OC เมนบอร์ด: Intel ต้อง Z-series, AMD ต้อง B/X series (A-series OC ไม่ได้) Silicon Lottery: CPU แต่ละตัวมี OC headroom ต่างกัน — บางตัวดี บางตัวไม่ดี
Q: AMD ใช้ PBO กับ Manual OC อันไหนดีกว่า?
A: PBO + Curve Optimizer ดีกว่าสำหรับ 99% ของผู้ใช้ เพราะ: PBO ปรับ voltage อัตโนมัติ = ปลอดภัยกว่า, Curve Optimizer ลด voltage ต่อ core = เพิ่ม boost clock + ลดความร้อน, Single-core boost สูงกว่า manual all-core OC ใช้ Manual OC เมื่อ: ต้องการ consistent all-core clock สำหรับ rendering/encoding
Q: OC เพิ่ม FPS เกมได้เท่าไหร่?
A: ขึ้นกับเกมและ GPU: CPU-bound games (Civilization, Cities Skylines): +10-20% FPS GPU-bound games (4K gaming): +1-5% FPS (ไม่คุ้ม) 1080p competitive gaming: +5-15% FPS (คุ้มมาก — 1% lows ดีขึ้น) สำคัญ: OC CPU + RAM พร้อมกันจะได้ผลมากกว่า OC CPU อย่างเดียว