Làm thế nào máy tính của tôi có thể sử dụng 300% sức mạnh xử lý PC?


65

Tôi đang chơi xung quanh với một kịch bản và tôi đã bị mang đi (hiện tại nó vẫn đang chạy và máy tính của tôi vẫn chưa chết). Tôi đang chạy 17 lần lặp kịch bản (với ý định làm hỏng máy tính của tôi).

Nhìn vào trình giám sát hoạt động tôi thấy rằng mỗi quy trình Python có một pid duy nhất và chúng dường như chiếm khoảng 17-20% công suất xử lý của tôi mỗi ... Làm thế nào có thể? Có phải máy tính của tôi đã tăng 200% năng lượng một cách kỳ diệu và phá vỡ các định luật nhiệt động lực học ở đâu đó?

Nhập mô tả hình ảnh ở đây


28
300% CPU = 3 CPU.
dùng253751

7
"Mức năng lượng là 400%"
Nitish

Nhắc nhở tôi về tất cả các tập phim Star Trek nơi các động cơ Warp mất kiểm soát ...
Daniel

Đó là một số ép xung nghiêm trọng !!
Andrew Grimm

Câu trả lời:


101

Trên OS X, giống như các * nixes khác, tải CPU được đo trên mỗi lõi của bộ xử lý ảo. Nếu bạn có nhiều - bạn có thể có 200% trở lên kết hợp dưới mức đầy tải.

Điều này khác với Windows và có thể một số hệ thống khác, trong đó tải CPU được tính trên toàn bộ CPU (hoặc CPU - Tôi không nhớ nó hoạt động như thế nào khi có nhiều bộ xử lý vật lý).


21
Câu trả lời này chỉ chính xác cho một số nền tảng! Ví dụ: Windows báo cáo tổng tải CPU, thay vì tỷ lệ phần trăm của một lõi đơn.
fabspro 20/03/2016

2
Đáng lưu ý rằng biểu diễn tải thập phân (ví dụ 0,5 hoặc 2,4) như được báo cáo bởi ví dụ lệnh thời gian hoạt động không phải là tổng của mỗi tỷ lệ phần trăm sử dụng lõi mà là ước tính có bao nhiêu lõi bạn cần xử lý mọi yêu cầu ngay lập tức. Tôi không chắc chắn bao nhiêu ứng dụng này bình thường hóa các giá trị.
Sebb

3
@Sebb trung bình tải (LA) là số lượng quá trình trung bình đang chờ thực thi, chúng có thể đang chờ IO, không cần thiết cpu
Vasfed

3
@ Random832 từ linux man - man7.org/linux/man-pages/man1/uptime.1.html : "Trung bình tải hệ thống là số lượng trung bình của các quá trình ở trạng thái có thể chạy hoặc không bị gián đoạn. Quá trình ở trạng thái có thể chạy được đang sử dụng CPU hoặc đang chờ để sử dụng CPU. Một quá trình ở trạng thái không bị gián đoạn đang chờ một số truy cập I / O, ví dụ như chờ đĩa. "
Vasfed

4
Tải trung bình của @slebetman không phải là về thời gian cpu, mà là chiều dài hàng đợi, ví dụ, xem serverfault.com/a/524818
Vasfed 22/03/2016

81

OS X và Linux và có thể các hệ điều hành UNIX khác (hay đúng hơn là các công cụ phổ biến nhất trên các hệ thống này) hiển thị mức độ sử dụng CPU khác với Windows. Trên Windows 100% có nghĩa là tất cả các tài nguyên CPU được sử dụng. Trên Linux, điều đó có nghĩa là một luồng xử lý của Google (như trong siêu phân luồng) hoàn toàn bận rộn. Như vậy, nó có thể đạt đến (Number of Threads per Core) * (Number of Cores per CPU) * (Number of CPUs)tổng số.

Mặc dù không hoàn toàn liên quan, một sự thật thú vị khác: Windows 10 tiếp tục bình thường hóa việc sử dụng CPU bằng cách sử dụng trạng thái điều tiết hiện tại của CPU. Vì vậy, CPU 2 GHz chạy ở mức 1 GHz sẽ chỉ bận tối đa 50%.


7
Sự thật thú vị. :)
Hennes

7
Và với Turbo Boost, Windows sẽ báo cáo CPU chạy hơn 100%
Martheen Cahya Paulo

Tôi nghĩ đó là cách BSD, không phải cách * nix nói chung. Tôi thấy điều tương tự trên máy Mac và hộp FreeBSD của tôi.
JDługosz

1
@ JDługosz Tôi khá chắc chắn rằng nó đúng với Linux, ít nhất là đối với một số công cụ của nó. Tôi khá chắc chắn topcư xử theo cách này, ví dụ.
thiệu lại vào

12

Như đã chỉ ra trong một số câu trả lời, Mac hiển thị phần trăm CPU của mỗi quy trình là 'phần trăm của một lõi', do đó bạn nên chia số đó cho số lõi [bao gồm cả HT là 'nhân đôi']

Nếu bạn không chắc chắn mình có bao nhiêu lõi ảo, Cmd ⌘ 3 sẽ hiển thị ngăn Lịch sử CPU của Trình giám sát hoạt động, nơi bạn chỉ cần đếm các sọc;)

nhập mô tả hình ảnh ở đây

Ngay bên dưới nơi bạn cắt hình ảnh là thông tin bạn cần để nhanh chóng xác định tổng mức sử dụng thực tế cho Hệ thống:, Người dùng: & Nhàn rỗi: Có tổng số đơn giản của bạn đến 100%

nhập mô tả hình ảnh ở đây


4
cho dù thực tế? 24 lõi ???? Tôi hầu như không có 4 :) TIL thực sự cảm ơn vì đã chia sẻ điều này!: Puu.sh/nNrHU/f2abb55dc7.png
Frankenmint

5
àh ... ừ - đó là Mac Pro 5,1 - cuối cùng của "graters phô mai". Xe 6 lõi kép [+ HT];)
Tetsujin

6

Trình giám sát hoạt động không thực sự đo lường sức mạnh xử lý mà mỗi ứng dụng / quy trình sử dụng, nó chỉ ước tính nó bằng thuật toán. Vì vậy, nó có thể không chính xác ...

Ngoài ra, như @Vasfed chỉ ra, mức tiêu thụ CPU được đo trên mỗi lõi bộ xử lý. Nhiều lõi có thể có nghĩa là sử dụng cao hơn 100% ...

Một người đam mê thỉnh thoảng tình cờ phát hiện ra hiện tượng này và lúng túng cho đến khi một Superuser đến trợ giúp anh ta ...; D


@underscore_d Vâng ... nhưng khi tôi trả lời, chỉ có một câu trả lời khác. Các câu trả lời khác (thừa nhận tốt hơn) đã được đăng sau ...
rahuldottech

đủ công bằng, tôi nên kiểm tra thời gian qua mức "ngày" ... nó không tệ lắm: p
underscore_d
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.