Làm thế nào một bộ đếm Perfmon Thời gian% Bộ xử lý Perfmon có thể trên 100%?


9

Bộ đếm, Process(sqlservr)\% Processor Timeđang lơ lửng khoảng 300% trên một trong các máy chủ cơ sở dữ liệu của tôi. Bộ đếm này phản ánh phần trăm tổng thời gian SQL Server dành cho CPU (chế độ người dùng + chế độ đặc quyền). Cuốn sách, Sql Server 2008 Internals và Xử lý sự cố , nói rằng bất cứ điều gì lớn hơn 80% là một vấn đề.

Làm thế nào có thể cho quầy đó là hơn 100%?

Câu trả lời:


21

Có hai quầy có cùng tên:

Process\% Processor Time: Tổng thời gian của bộ xử lý trên mỗi bộ xử lý

Processor(_Total)\% Processor Time: Tổng số cho tất cả các bộ xử lý

Câu hỏi của bạn cho biết bạn đang sử dụng bộ đếm đầu tiên, điều đó có nghĩa là giá trị tối đa của nó là 100% * (không có CPU).

Vì vậy, nếu bạn có 4 CPU, thì tổng số tối đa là 400% và thực tế là 80% (400 * 0,8 =) 320% (và đối với 8 CPU, nó là 640%, v.v.)


Vâng! Đó là nó. Tôi có 8 CPU. Vì vậy, tổng số sử dụng CPU sqlservr của tôi thực sự là khoảng 37%. Và điều đó có nghĩa là mọi thứ đều bình thường. Cảm ơn, @Fudeeker!
Bill Paetzke

Bất cứ lúc nào. Tôi đã có các truy vấn tương tự khi lần đầu tiên tôi bắt đầu sử dụng perfmon trên các hệ thống nhiều cpu.
Mark Henderson

2
Số lượng CPU bao gồm siêu phân luồng? Ví dụ: nếu máy tính của tôi là lõi tứ và tôi có siêu phân luồng, tôi nên tính theo 4 procs hay 8?
Matthew Rodatus

1
Có cách nào để tìm cách sử dụng bộ xử lý của một tiến trình đơn lẻ với giá trị từ 0 đến 100% (hay còn gọi là: nó cho bạn thấy tải lan truyền trên tất cả các CPU)? Tôi không muốn chia rẽ bản thân
Jeroen Vannevel

0

Giá trị này được tính trên dòng cơ sở của (Không có CPUS logic * 100), do đó, đây sẽ là một tính toán trên một baselin hơn 100.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.