Làm chậm tốc độ xung nhịp của bộ xử lý


12

Gần đây tôi đã mua một chiếc MacBook Pro mới, đôi khi quá nhanh. Tôi thường xuyên lập trình cho Mathicala và trên MacBook Pro 2007 cũ của tôi, tôi thường có cảm giác về mã không hiệu quả khi nó chạy chậm (đó là khi tôi quyết định "gee, tôi đã viết một số mã rác. Có lẽ tôi nên dành vài giờ để tinh chỉnh nó "). Tuy nhiên, trên máy Mac mới của tôi, mọi thứ chỉ chạy nhanh.

Có một công tắc nào trên máy Mac cho phép tôi làm chậm CPU, giả sử, 1 GHz không?


Hãy chuyển cuộc thảo luận mở rộng sang trò chuyện .
bmike

Bạn nên có một cái nhìn tại apple.stackexchange.com/questions/24998/ dọa
Max Ried

Tôi nhớ ngay đến truyện tranh này: xkcd.com/1172
justhalf 7/1/2016

Câu trả lời:


19

Tôi không nghĩ có thể thao tác trên thanh tốc độ xung nhịp tối thiểu, đơn giản vì mối quan hệ trực tiếp giữa công suất, tần số và tốc độ xung nhịp của bộ vi xử lý. Rõ ràng đồng hồ có một phạm vi, vì vậy, ví dụ để chạy mô phỏng, hệ thống cần nhiều năng lượng hơn để chạy nhanh hơn trong phạm vi, và sau đó khi bạn dừng mô phỏng, bạn sẽ thấy sự sụt giảm.

Giải pháp : Bạn có xem xét, chạy các chương trình trong MAC OS nhưng trên trình ảo hóa (ví dụ: hộp ảo) không? Sau đó, bạn có thể giới hạn số lượng lõi / RAM dành cho việc chạy HĐH thứ hai. Trong trường hợp đó, các chương trình có thể buộc phải chạy chậm hơn nhiều; bởi vì bộ ảo hóa có tài nguyên thấp hơn nhiều. Điều này sẽ giúp bạn linh hoạt hơn nhiều và trong trường hợp thất bại, bạn có thể quay lại và thay đổi cài đặt trình ảo hóa. Thú vị hơn, bạn có thể mang các cài đặt đóng gói chạy trên máy ảo hóa sang một máy khác và cũng chạy nó ở đó, bằng cách có trình ảo hóa ở đó.


3
VirtualBox không phải là trình giả lập. Đó là ảo hóa. Đó là lý do tại sao nó được gọi là "VirtualBox". Nó ảo hóa CPU, nó không mô phỏng nó. QEmu, ví dụ, là một trình giả lập. (Mặc dù nó có thể sử dụng ảo hóa và theo mặc định sẽ làm như vậy, nếu có thể.)
Jörg W Mittag

1
@ JörgWMittag Nó không phải là một trình ảo hóa. Nó được gọi là siêu giám sát loại 2.
Max Ried

1
@DaveRose Một vm là không cần thiết vì giới hạn về số lượng bộ xử lý (ái lực), bộ nhớ, thời gian cpu tối đa và nhiều dòng tài nguyên khác có thể được đặt cho một quy trình thông qua dòng lệnh sử dụng các tiện ích unix ulimitsysctl - Tôi không nhớ nếu chúng các tiện ích được cài đặt theo mặc định, bạn có thể cần cài đặt các công cụ phát triển dòng lệnh thông qua XCode. Bạn sẽ thiết lập ulimit và thực thi Mathematica từ shell
crasic

25

Nếu mối quan tâm của bạn là phần mềm của bạn hiệu quả đến mức nào, hãy để tôi đề xuất một giải pháp định hướng kỹ thuật hơn sẽ cho phép bạn giữ MacBook của bạn chạy ở tốc độ tối đa:

Sử dụng trình lược tả được tích hợp vào Mathicala . Điều này sẽ cho phép bạn xác định các phần tính toán của bạn tiêu tốn nhiều thời gian nhất mà không cần phải sử dụng đến các phép đo của quần chỉ hoạt động trên phần cứng chậm.


1
Làm thế nào điều này sẽ làm chậm mã trên một máy Mac chứ không phải trên một máy Mac khác? Đó là thông tin tốt, nhưng dường như không liên quan đến chủ đề này.
bmike

@bmike Đây là thông tin tốt. Tôi không biết về trình biên dịch Mathicala. Mặc dù không trả lời trực tiếp câu hỏi của tôi, nhưng nó có thể giúp làm cho nó không cần thiết (+1). Có lẽ sẽ được để lại tốt nhất như là một bình luận.
QuantumDot

6
@bmike nó không làm chậm bất cứ điều gì, nó giải quyết vấn đề mà OP thực sự đang cố gắng giải quyết tức là liệu mã Mathicala của anh ấy / cô ấy có hiệu quả hay không.
nekomatic

1

Hồ sơ, như được đề xuất trong câu trả lời của Blrfl, là cách thích hợp hơn để xác định xem mã Mathicala của bạn có hiệu quả hay không. Tuy nhiên, nếu bạn thực sự muốn làm chậm quá trình thực thi của nó, bạn có thể thực hiện điều này bằng cách thay đổi mức độ ưu tiên của quy trình Mathicala. Tôi chưa thử điều này nhưng bạn có thể tìm thấy thông tin hoặc phần mềm hữu ích trong số các liên kết sau:

Có cách nào để đặt mức độ ưu tiên của một quy trình trong Mac OS X không?

Làm thế nào để vĩnh viễn đổi mới một quá trình trên Mac OS X (hoặc iOS, v.v.)?

App Warriority (trước đây là Renicer) của Northern Softworks

Tuy nhiên, một số trong các cuộc thảo luận này hơi cũ, vì vậy bạn có thể cần thử nghiệm hoặc tìm kiếm thêm để tìm thấy những gì hoạt động trên phiên bản Mac và OS X của bạn. Ngoài ra, bạn có thể thấy kỹ thuật này hoạt động hiệu quả hơn nếu bạn đặt cho máy Mac của mình một số tác vụ xử lý nặng khác để chạy cùng một lúc - chuyển đổi một tệp video lớn.


Thay đổi mức độ ưu tiên của một quy trình không phải là một đảm bảo rằng nó sẽ chạy chậm. Đây chỉ là một gợi ý cho hệ điều hành rằng nếu có tranh chấp về thời gian xử lý, các quy trình có mức độ ưu tiên cao hơn sẽ được ưu tiên. Không có bất cứ điều gì cản trở, một quy trình ưu tiên thấp sẽ chạy ở tốc độ tối đa.
Blrfl

1

Tiếc là không có. Bạn không thể thay đổi tốc độ đồng hồ trên máy tính Macintosh. Họ không có BIOS giống như cách mà bo mạch chủ Windows làm, vì vậy không có cách nào người dùng có thể thay đổi tốc độ đồng hồ hoặc mánh khóe với công cụ I / O.

Lý do cho điều này chủ yếu là vì trên máy Mac, bạn không cần phải thay đổi những thứ này theo cách thủ công. Phần cứng đã được xây dựng sẵn và HĐH biết phần cứng nào sẽ / có thể được gắn vào.


Mac OS X CÓ thể thay đổi tốc độ xung nhịp của bộ xử lý một cách linh hoạt, ví dụ: ưu tiên hiệu năng khi cắm so với thời lượng pin khi sử dụng pin, vì vậy điều này không thực sự chính xác - hoặc ít nhất là nếu nó đúng vì lý do sai. Không thể thực hiện cài đặt này.
nekomatic

Điểm tốt. Tôi đã chỉnh sửa bài đăng để làm rõ điều này
JamEngulfer

0

Có, nhưng nó không được khuyên. Tốc độ xung nhịp được điều khiển bởi HĐH và chính bộ xử lý do một số yếu tố, bao gồm tải của bộ xử lý, nhiệt độ và nguồn điện.

Nếu bạn giảm pin xuống 10-20%, ngắt kết nối bất kỳ nguồn năng lượng bên ngoài nào và làm nóng máy tính xách tay lên đến nhiệt độ hoạt động tối đa 95F (35C) , nó chắc chắn sẽ chuyển sang trạng thái năng lượng thấp hơn, bao gồm giảm đáng kể xung nhịp bộ xử lý. Một miếng đệm sưởi ấm nhỏ, chẳng hạn như những miếng được sử dụng cho đau lưng, bên dưới máy tính xách tay có thể là đủ, và trong mùa đông có thể rất thoải mái cho bạn.

Tuy nhiên, sẽ tốt hơn nếu sử dụng các công cụ chính xác để điều chỉnh hiệu suất. Có, bạn có thể mô phỏng môi trường cũ của mình và từ đó sử dụng đồng hồ bên trong của riêng bạn, tuy nhiên phần mềm bạn đang sử dụng có đồng hồ, bộ hẹn giờ và các công cụ khác để hiểu hiệu suất công việc của bạn. Cho rằng bạn có thể sẽ nâng cấp lại sau vài năm hoặc bạn có thể sử dụng các máy tính và nền tảng điện toán khác nhau trong thời gian can thiệp, sử dụng nạng như trình giả lập không phải là giải pháp lâu dài tốt.

Tôi đề nghị bạn thay vì sử dụng các công cụ tích hợp. Việc sử dụng thường xuyên sẽ cho phép bạn sử dụng chúng mà không cần quá nhiều nỗ lực, để bạn có thể tích hợp chúng vào phần mềm của mình một cách nhanh chóng.

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.