> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/knowledge-base/vi/system-administration/cpu-overprovisioning-guide.md).

# Quá cấp phát CPU và lập kế hoạch tài nguyên

## Tổng quan

Quá cấp phát CPU (còn gọi là overcommit) cho phép bạn phân bổ nhiều lõi CPU ảo hơn cho các workload so với số lõi vật lý hiện có. Hướng dẫn này giải thích cách VergeOS xử lý tài nguyên CPU, tác động của việc quá cấp phát và các phương pháp tốt nhất cho việc lập kế hoạch dung lượng.

## Cách VergeOS phân bổ CPU hoạt động

### Lõi ảo so với lõi vật lý

Khi bạn gán vCPU cho một máy ảo (VM), bạn đang phân bổ **các lõi ảo** được lập lịch lên các lõi CPU vật lý. VergeOS không dành riêng các lõi vật lý cho VM — thay vào đó, nó sử dụng chia sẻ theo lát thời gian để chia sẻ tài nguyên vật lý.

**Các điểm chính:**

* Theo mặc định, vCPU không được ghim vào lõi vật lý
* Nhiều vCPU từ các VM khác nhau có thể chia sẻ cùng một lõi vật lý
* Bộ lập lịch của hypervisor quản lý việc phân bổ thời gian CPU

### Cài đặt "Số lõi tối đa trên mỗi máy"

Cài đặt của cụm này kiểm soát số lõi CPU tối đa có thể được phân bổ cho một workload duy nhất (VM, node tenant hoặc dịch vụ NAS).

**Vị trí:** Hạ tầng > Cụm > \[Tên cụm] > Chỉnh sửa

{% hint style="warning" %}
**Các ràng buộc quan trọng**

* Giá trị này nên **không bao giờ vượt quá** tổng số lõi vật lý trên node nhỏ nhất của bạn
* Trong hầu hết các trường hợp, hãy giữ nó **trong phạm vi một socket CPU duy nhất** để đạt hiệu năng NUMA tối ưu
* Các VM vượt quá giới hạn này sau khi thay đổi **không thể di chuyển** cho đến khi số lõi được giảm xuống
  {% endhint %}

## Tỷ lệ quá cam kết CPU

### Tỷ lệ overcommit là gì?

Tỷ lệ giữa tổng số vCPU đã phân bổ và tổng số lõi vật lý:

```
Tỷ lệ overcommit = Tổng số vCPU đã phân bổ / Tổng số lõi vật lý
```

**Ví dụ:** Một cụm 2 node với 32 lõi mỗi node (tổng 64) chạy các VM với tổng 96 vCPU sẽ có tỷ lệ overcommit 1,5:1.

### Tỷ lệ khuyến nghị theo loại workload

| Loại workload                  | Tỷ lệ             | Ghi chú                        |
| ------------------------------ | ----------------- | ------------------------------ |
| Workload nhẹ/văn phòng         | 4:1 đến 6:1       | VM desktop, máy chủ tệp        |
| Mục đích chung hỗn hợp         | 2:1 đến 4:1       | Mô hình doanh nghiệp điển hình |
| Máy chủ cơ sở dữ liệu/ứng dụng | 1:1 đến 2:1       | Nhạy cảm với hiệu năng         |
| Điện toán hiệu năng cao        | 1:1 hoặc thấp hơn | Workload bị giới hạn bởi CPU   |

{% hint style="success" %}
**Bắt đầu thận trọng**

Bắt đầu với tỷ lệ thấp hơn và tăng dần dựa trên việc giám sát. Dễ bổ sung dung lượng hơn là khắc phục hiệu năng kém.
{% endhint %}

## Tác động đến hiệu năng

### Khi overcommit hoạt động tốt

* **Workload theo đợt:** Các VM thỉnh thoảng có đột biến CPU nhưng phần lớn thời gian nhàn rỗi
* **Thời điểm khác nhau:** Các workload đạt đỉnh vào những thời điểm khác nhau
* **Ứng dụng phụ thuộc I/O:** Các VM chờ đĩa hoặc mạng nhiều hơn CPU

### Khi overcommit gây ra vấn đề

* **Workload bị giới hạn bởi CPU:** Ứng dụng liên tục sử dụng 100% CPU
* **Ứng dụng nhạy cảm với độ trễ:** Hệ thống thời gian thực, VoIP, giao dịch
* **Nhu cầu đồng thời:** Tất cả VM đều cần CPU cùng lúc

### Dấu hiệu của việc overcommit quá mức

1. **Thời gian sẵn sàng CPU cao:** Các VM chờ CPU vật lý sẵn có
2. **Hiệu năng không nhất quán:** Ứng dụng lúc thì hoạt động tốt, lúc thì kém
3. **Hệ điều hành khách hiển thị CPU cao:** Nhưng hypervisor cho thấy mức sử dụng thấp hơn

## Lập kế hoạch dung lượng

### Tính toán dung lượng CPU khả dụng

Đối với cụm có dự phòng N+1:

```
Số lõi khả dụng = (Số node - 1) × Số lõi mỗi node
Số vCPU có thể sử dụng = Số lõi khả dụng × Tỷ lệ overcommit mục tiêu
```

**Ví dụ:** Cụm 4 node, mỗi node 32 lõi, tỷ lệ mục tiêu 2:1

* Khả dụng: (4-1) × 32 = 96 lõi
* vCPU có thể sử dụng: 96 × 2 = 192 vCPU

### Các lưu ý về di chuyển

Khi một node bị lỗi hoặc chuyển sang bảo trì:

* Tất cả VM phải vừa với các node còn lại
* Mỗi VM phải nằm trong cài đặt "Số lõi tối đa trên mỗi máy"
* Các VM có nhiều vCPU có thể bị kẹt nếu không có node đơn lẻ nào có thể chứa chúng

{% hint style="warning" %}
**Sẵn sàng cho di chuyển**

Nếu một VM có 64 vCPU nhưng các node của bạn chỉ có 32 lõi, VM đó **không thể di chuyển** trong các sự kiện bảo trì hoặc lỗi. Hãy giữ số lõi của VM trong phạm vi dung lượng của một node duy nhất.
{% endhint %}

## Các phương pháp hay nhất

### Hướng dẫn chung

1. **Giám sát trước khi phân bổ:** Hiểu các mẫu sử dụng CPU thực tế trước khi bổ sung dung lượng
2. **Định cỡ VM hợp lý:** Bắt đầu với ít vCPU hơn và tăng theo nhu cầu
3. **Dành sẵn phần dự phòng:** Giữ 20-30% dung lượng sẵn có cho các đột biến và failover
4. **Sử dụng giới hạn CPU một cách thận trọng:** Chúng ngăn VM sử dụng tài nguyên nhàn rỗi sẵn có

### Thiết kế cụm

1. **Kích thước node nhất quán:** Giúp việc lập kế hoạch dung lượng đơn giản hơn
2. **Lập kế hoạch cho N+1:** Luôn giả định sẽ có một node không khả dụng
3. **Ghi lại các giả định:** Ghi lại mục tiêu overcommit và lý do của bạn

### Cấu hình VM

1. **Khớp vCPU với workload:** Nhiều vCPU hơn không phải lúc nào cũng có nghĩa là hiệu năng tốt hơn
2. **Cân nhắc NUMA:** Đối với các VM lớn, hãy giữ vCPU trong ranh giới của node NUMA
3. **Kiểm tra hiệu năng:** Đo kiểm với workload thực tế

## Giám sát sức khỏe CPU

### Các chỉ số chính cần theo dõi

| Hệ số                    | Phạm vi lành mạnh       | Hành động nếu vượt quá                  |
| ------------------------ | ----------------------- | --------------------------------------- |
| Mức sử dụng CPU của cụm  | Trung bình < 70%        | Thêm node hoặc giảm số VM               |
| Mức sử dụng CPU của node | Duy trì < 80%           | Kiểm tra phân bố VM                     |
| CPU của từng VM          | Khác nhau theo workload | Điều chỉnh kích thước lại hoặc điều tra |

### Sử dụng Bảng điều khiển VergeOS

1. Điều hướng tới **Cơ sở hạ tầng** > **Các cụm**
2. Xem biểu đồ mức sử dụng CPU
3. Nhấp vào từng node để xem các chỉ số theo node
4. Kiểm tra thống kê CPU của VM trong bảng điều khiển của từng VM

Để biết thêm chi tiết về giám sát cụm, xem [Tổng quan về cụm](/run-the-platform/system-administration/clusters-overview.md).

## Câu hỏi thường gặp

### Tôi có thể gán nhiều vCPU hơn số lõi vật lý cho một VM đơn lẻ không?

Có, nhưng hiếm khi mang lại lợi ích. Một VM có nhiều vCPU hơn số lõi vật lý trên một node có thể gặp độ trễ lập lịch khi hypervisor chờ đủ số lõi khả dụng cùng lúc.

### VergeOS có hỗ trợ ghim CPU không?

VergeOS không hỗ trợ ghim CPU (affinity). Bên trong hệ thống, VergeOS sử dụng Linux Completely Fair Scheduler (CFS) để lập lịch CPU. Mỗi vCPU được ánh xạ thành một tiến trình/luồng Linux, và tất cả các luồng vCPU cùng chia sẻ chung một hàng đợi chạy CFS. Bộ lập lịch dùng logic công bằng toàn cục để quyết định tiến trình nào được dùng CPU và theo thứ tự nào.

Thiết kế này đảm bảo sử dụng tài nguyên tối ưu và duy trì khả năng di chuyển VM cho live migration và failover. Khi bạn cấp phát vượt mức tài nguyên CPU, bạn đang chia sẻ nhóm lõi vật lý đó với các VM và tenant khác.

### Điều này ảnh hưởng thế nào đến cấp phép phần mềm?

Một số phần mềm (Oracle, SQL Server) được cấp phép theo lõi vật lý hoặc socket. Cách lập lịch động của VergeOS có nghĩa là bạn không thể "phân vùng cứng" tài nguyên CPU. Hãy tham khảo chính sách cấp phép ảo hóa của nhà cung cấp phần mềm — nhiều bên cung cấp mô hình cấp phép theo vCPU hoặc theo VM phù hợp hơn với hypervisor hiện đại.

### Còn NUMA thì sao?

Đối với các VM có nhiều vCPU, VergeOS cố gắng giữ phân bổ bộ nhớ và CPU trong cùng một node NUMA khi có thể. Để đạt hiệu năng NUMA tốt nhất, hãy giữ số vCPU của VM ở mức bằng hoặc thấp hơn số lõi của một socket duy nhất.

## Chủ đề liên quan

* [Tổng quan về cụm](/run-the-platform/system-administration/clusters-overview.md) - Hiểu kiến trúc cụm
* [Tùy chọn cấu hình cụm](/run-the-platform/system-administration/cluster-settings.md) - Giải thích tất cả cài đặt của cụm
* [Các phương pháp hay nhất cho VM](/run-the-platform/virtual-machines/vm-best-practices.md) - Khuyến nghị cấu hình VM
* [Tạo máy ảo](/run-the-platform/virtual-machines/creating-vms.md) - Hướng dẫn tạo VM
* [Di chuyển trực tiếp](/run-the-platform/virtual-machines/live-migrations.md) - Di chuyển VM giữa các node


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/knowledge-base/vi/system-administration/cpu-overprovisioning-guide.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
