Làm cách nào để vô hiệu hóa Mac OS X khỏi sử dụng trao đổi khi vẫn còn bộ nhớ trong chế độ không hoạt động?


61

Một hiện tượng phổ biến trong việc sử dụng hàng ngày của tôi (và một số khác theo các bài đăng khác nhau trên internet) của OS X, hệ thống dường như trở nên chậm chạp bất cứ khi nào không còn bộ nhớ "Miễn phí". Giả sử, điều này là do hoán đổi, vì hoạt động của đĩa nặng là rõ ràng và vm_stat báo cáo nhiều trang. (Sửa tôi khỏi sai)

Tuy nhiên, lượng ram "Không hoạt động" thường vào khoảng 12,5% -25% của tất cả bộ nhớ khả dụng (^ 1.) Khi trao đổi bắt đầu / xảy ra / kết thúc.

Theo http://support.apple.com/kb/ht1342 :

Bộ nhớ không hoạt động

Thông tin này trong bộ nhớ không được sử dụng tích cực, nhưng gần đây đã được sử dụng.

Ví dụ: nếu bạn đã sử dụng Mail và sau đó thoát nó, RAM mà Mail đang sử dụng được đánh dấu là Bộ nhớ không hoạt động. Bộ nhớ không hoạt động này có sẵn để sử dụng bởi một ứng dụng khác, giống như Bộ nhớ miễn phí. Tuy nhiên, nếu bạn mở Mail trước khi bộ nhớ không hoạt động của nó được sử dụng bởi một ứng dụng khác, Mail sẽ mở nhanh hơn vì bộ nhớ không hoạt động của nó được chuyển đổi sang bộ nhớ hoạt động, thay vì tải Mail từ đĩa cứng chậm hơn.

Và theo http://developer.apple.com/l Library / mac / # document / ORformance / Conceptionual /ManagingMemory / Articles / AboutMemory.html :

Danh sách không hoạt động chứa các trang hiện đang tồn tại trong bộ nhớ vật lý nhưng gần đây không được truy cập. Các trang này chứa dữ liệu hợp lệ nhưng có thể được giải phóng khỏi bộ nhớ bất cứ lúc nào .

Vì vậy, về cơ bản: Khi một chương trình đã thoát, bộ nhớ của nó sẽ bị đánh dấu là Không hoạt động và có thể được yêu cầu bất cứ lúc nào. Tuy nhiên, OS X sẽ thích bắt đầu hoán đổi bộ nhớ sang tệp Hoán đổi thay vì chỉ yêu cầu bộ nhớ này, bất cứ khi nào bộ nhớ "Miễn phí" xuống thấp.

Tại sao? Ưu điểm của hành vi này là gì, giả sử, ngay lập tức giải phóng bộ nhớ Không hoạt động và thậm chí không chạm vào tệp hoán đổi? Một số nguồn (^ 2.) Chỉ ra rằng OS X sẽ loại bỏ bộ nhớ "Không hoạt động" để trao đổi trước khi phát hành, nhưng điều đó bây giờ không có nghĩa gì nếu bộ nhớ có thể được giải phóng khỏi bộ nhớ bất cứ lúc nào? Trao đổi là tốn kém, phát hành là rẻ, phải không?

Hành vi này có thể được thay đổi bằng cách sử dụng một số ưu tiên hoặc hack đã biết? (Tốt nhất là không bao gồm việc vô hiệu hóa hoán đổi / Dynamic_pager hoàn toàn và khởi động lại ...)

Tôi đánh giá cao lệnh thanh lọc , cũng như khái niệm Sửa chữa quyền truy cập đĩa để buộc một số Bộ nhớ trống, nhưng đó là những cách để buộc nhiều bộ nhớ Tự do hơn là thực sự sửa lỗi logic quyết định trao đổi / giải phóng ...

Btw một câu hỏi tương tự đã được hỏi ở đây: http://forums.macnn.com/90/mac-os-x/434650/why-does-os-x-swap-when/ và tại đây: http: //hintsforums.macworld .com / showthread.php? t = 87688 nhưng mặc dù các OP đã hỏi lại câu hỏi cốt lõi, không có câu trả lời nào trả lời câu hỏi đó ...

^ 1. CẬP NHẬT 17 tháng 3 năm 2012 Kể từ lần đầu tiên tôi đăng câu hỏi này, tôi đã chuyển từ 4gb sang 8gb ram đã cài đặt, và vấn đề vẫn còn. Lượng ram "Không hoạt động" là 0,5gb-1,0gb trước đây và hiện tại thường khoảng 1,0-2,0 GB khi hoán đổi bắt đầu / xảy ra / kết thúc, có nghĩa là khoảng 12,5% -25% ram được bảo quản là Không hoạt động bởi osx logic hạt nhân.

^ 2. Ví dụ: https://apple.stackexchange.com/questions/4288/what-does-it-mean-if-i-have-lots-of-inactive-memory-at-the-end-of-a-work- ngày :

Khi tất cả bộ nhớ của bạn được sử dụng (bộ nhớ trống là 0), HĐH sẽ ghi bộ nhớ không hoạt động vào bộ trao đổi để tạo thêm không gian trong bộ nhớ hoạt động.

CẬP NHẬT 17 tháng 3 năm 2012

Dưới đây là tổng hợp các phương pháp đã được đề xuất để trợ giúp cho đến nay:

Các thanh trừng lệnh

"Được sử dụng để ước tính các điều kiện khởi động ban đầu với bộ đệm bộ đệm đĩa lạnh để phân tích hiệu suất. Nó không ảnh hưởng đến bộ nhớ ẩn danh được phân bổ thông qua malloc, vm_allocate, v.v.".

Điều này rất hữu ích để ngăn osx hoán đổi bộ đệm đĩa (điều này thật vô lý khi osx thực sự làm như vậy ngay từ đầu), nhưng với nhược điểm là bộ đệm đĩa được giải phóng, có nghĩa là nếu bộ đệm đĩa không bị xóa hoán đổi, người ta chỉ đơn giản là kết thúc với bộ đệm bộ đệm đĩa lạnh, có thể ảnh hưởng tiêu cực đến hiệu suất.

Các ứng dụng FreeMemory và / hoặc sửa chữa cho phép đĩa để buộc một số bộ nhớ miễn phí

Không giúp giải phóng bất kỳ bộ nhớ nào, chỉ chuyển một số gigabyte nội dung bộ nhớ từ ram sang hd. Cuối cùng, điều này gây ra rất nhiều trao đổi khi tôi cố gắng sử dụng các ứng dụng đã mở trong khi giải phóng bộ nhớ, vì rất nhiều vm của nó hiện đang được trao đổi.

Tăng tốc phân bổ trao đổi bằng cách sử dụng Dynamicpagerwrapper

Có vẻ là một điều tốt để làm để tăng tốc độ sử dụng trao đổi, nhưng không giải quyết vấn đề hoán đổi osx ở nơi đầu tiên trong khi vẫn còn bộ nhớ không hoạt động.

Vô hiệu hóa trao đổi bằng cách vô hiệu hóa Dynamicpager và khởi động lại

Điều này sẽ buộc osx không sử dụng trao đổi với giá của hệ thống treo khi tất cả bộ nhớ được sử dụng. Không phải là một sự thay thế khả thi ...

Vô hiệu hóa trao đổi bằng cách sử dụng một Dynamicpager bị hack

Tương tự như vô hiệu hóa tính năng động ở trên, một số trích đoạn từ các bình luận cho bài đăng trên blog cho thấy đây không phải là giải pháp khả thi: "Bộ nhớ không hoạt động cao như bình thường". "khi hệ thống của bạn hết bộ nhớ, toàn bộ hệ thống bị treo ...", "nếu bạn tiêu thụ toàn bộ bộ nhớ của máy Mac, máy có thể sẽ bị treo"

Tóm lại, tôi vẫn không biết cách vô hiệu hóa Mac OS X khỏi sử dụng trao đổi khi vẫn còn bộ nhớ "Không hoạt động". Nếu không thể, ít nhất có thể có một lời giải thích ở đâu đó về lý do tại sao osx thích trao đổi bộ nhớ có thể được giải phóng khỏi bộ nhớ bất cứ lúc nào?


1
Tôi đã gặp vấn đề này, được minh họa bằng các số Trình giám sát hoạt động này: bassistance.de/i/f2322d.png Hoàn toàn không có bộ nhớ trống, nhưng có rất nhiều bộ nhớ không hoạt động. Thay vì đòi lại điều đó, OSX thích bắt đầu hoán đổi mạnh mẽ, như bạn có thể thấy khi hết trang 40 GB.
Jorn Zaefferer

Tôi có rất nhiều bộ nhớ trống và vẫn còn nhiều GB trao đổi được sử dụng. 16GB rMBP.
Steven Lu

1
rõ ràng một số người đã báo cáo lợi ích từ việc chạy "thanh lọc" apple.stackexchange.com/questions/67031/ Giả không âm
rogerdpack

Câu trả lời:


19

Theo định nghĩa, bộ nhớ không hoạt động là bộ nhớ đã sẵn sàng để phân trang và phân trang ra có thể liên quan đến việc ghi nó để trao đổi. Đây không phải là bất kỳ loại vấn đề hoặc vấn đề cần được tối ưu hóa; Trên thực tế, OS X hoạt động như thiết kế .

Thật không may, các nhà văn hỗ trợ công nghệ không phải là nhà phát triển hạt nhân và trích dẫn bài viết hỗ trợ của Cơ sở tri thức Apple chỉ sai khi tuyên bố rằng Bộ nhớ không hoạt động là bộ nhớ không được sử dụng bởi các chương trình. Khi bạn thoát khỏi một chương trình, tất cả bộ nhớ lưu trú của nó sẽ trở thành Miễn phí; nó không dừng lại ở trạng thái không hoạt động. Tuy nhiên, liên kết thứ hai đến trang web của nhà phát triển mô tả cách quản lý bộ nhớ hoạt động là một tài nguyên tốt, nếu được đọc đầy đủ.

Có nhiều quan niệm sai lầm về "bộ nhớ không hoạt động" nghĩa là gì trong OS X. Trái với những quan niệm sai lầm, không phải tất cả bộ nhớ không hoạt động đều trống, không sử dụng, bộ đệm hoặc có thể xóa được. Trong thực tế, bộ nhớ hoạt động cũng có thể được lưu trữ hoặc có thể xóa được, nếu nó đã được truy cập gần đây. Nhiều bộ nhớ không hoạt động cũng chứa dữ liệu không thể bị loại bỏ. Nếu nó bị loại bỏ, các chương trình sẽ bị sập, bởi vì các trang bị loại bỏ sẽ chứa dữ liệu hợp lệ (như trích dẫn từ phía nhà phát triển OS X nói,) và các chương trình hy vọng dữ liệu mà chúng lưu trữ trong bộ nhớ (ảo) sẽ không biến mất.

Bộ nhớ không hoạt động chứa cùng loại dữ liệu với bộ nhớ hoạt động. Sự khác biệt duy nhất là OS X đã nhận thấy rằng một số khối bộ nhớ đã không được đọc hoặc ghi vào trong một thời gian.

Lý do OS X phân loại một số bộ nhớ là không hoạt động và các khu vực khác là "hoạt động" có liên quan đến việc phân trang. Khi bộ nhớ sắp hết, bạn sẽ phải trang ra một số dữ liệu. Câu hỏi là, dữ liệu nào? Nếu bạn đưa ra dữ liệu mà một chương trình hóa ra ngay lập tức cần lại, nó sẽ lãng phí thời gian và không thực hiện được gì. Vì vậy, bạn muốn loại bỏ bộ nhớ mà một chương trình sẽ không cần phải sử dụng lại ngay lập tức.

Dự đoán những trang nào có khả năng không cần thiết trong tương lai là khó khăn vì một chương trình có thể sử dụng bộ nhớ ảo của nó tuy nhiên nó thích và không cho HĐH biết bất cứ điều gì về kế hoạch của nó. Nhưng với tư cách là một heuristic, hầu hết các chương trình đều "dính" trong việc sử dụng bộ nhớ của chúng; nếu họ không sử dụng một số bộ nhớ trong một thời gian thì có khả năng họ sẽ tiếp tục không sử dụng bộ nhớ đó và có khả năng tiếp tục sử dụng bộ nhớ mà họ đã sử dụng gần đây.

Vì vậy, khi HĐH quyết định loại bỏ một số dữ liệu, chiến lược hoán đổi các trang không được sử dụng gần đây. Đây là lý do tại sao OS X sắp xếp bộ nhớ đang bị chiếm dụng bởi các chương trình thành hai đống "hoạt động" và "không hoạt động". Các liên kết được đăng trên đến các trang web phát triển, nếu đọc đầy đủ, nói như thế nào quá trình đó xảy ra:

  • Khi bộ nhớ bắt đầu xuống thấp, HĐH bắt đầu đi qua các trang bộ nhớ hoạt động và đặt cờ trên mỗi trang.
  • Nếu một chương trình đọc hoặc ghi vào một trang, cờ sẽ bị xóa.
  • Nếu, sau một số độ trễ, cờ không bị xóa, trang đó sẽ được sắp xếp vào đống "không hoạt động".
  • Nếu một trang "không hoạt động" được truy cập bởi chương trình của nó, nó sẽ được đưa trở lại vào đống "hoạt động".
  • Khi hết bộ nhớ, các trang "không hoạt động" sẽ được phân trang.

Lưu ý rằng quá trình sắp xếp này để quyết định bộ nhớ nào được trao đổi là tương tự trên tất cả các hệ điều hành hiện đại. Linux có hai danh sách các trang hoạt động và không hoạt động giống nhau, như được mô tả trong Tìm hiểu về Trình quản lý bộ nhớ ảo Linux . Windows có thể sử dụng một cái gì đó hơi khác một chút với hơn hai lớp hồi quy; Tôi không thể tìm thấy một mô tả kỹ thuật đáng tin cậy gần đây tại thời điểm này. Nhiều triển khai hơn được thảo luận tại trang Wikipedia có tên "Thuật toán thay thế trang" . Sự khác biệt duy nhất với OS X là cách hiển thị các số liệu thống kê: ai đó đã quyết định sẽ là một ý tưởng tốt để hiển thị các số riêng biệt cho hoạt động và không hoạt động trong tophoặc Trình giám sát hoạt động. Nhìn lại, đây có lẽ không phải là một ý tưởng hay (và điều này đã thay đổi trong OS X 10.9.)

Quá trình thiết lập và xóa cờ này và duy trì các đống hoạt động / không hoạt động sẽ tốn một ít năng lượng của bộ xử lý. Vì lý do đó, OS X không làm điều đó khi có nhiều bộ nhớ trống. Vì vậy, các chương trình đầu tiên bạn khởi động sẽ hiển thị dưới dạng tất cả bộ nhớ "hoạt động" cho đến khi bộ nhớ trống bắt đầu cạn.

Vì vậy, khi bạn bắt đầu từ một bảng trống và mở ngày càng nhiều chương trình, bạn có thể thấy sự tiến triển sau trong Trình giám sát hoạt động:

  • Đầu tiên, có rất nhiều bộ nhớ "miễn phí" và rất ít không hoạt động. Điều này là do bộ nhớ cờ chưa bắt đầu chạy.
  • Khi dung lượng bộ nhớ trống giảm xuống, OS X sẽ bắt đầu chạy bộ nhớ cờ của nó và bạn sẽ bắt đầu thấy lượng "không hoạt động" tăng lên. Mỗi bit "không hoạt động" trước đây là "hoạt động".
  • Khi bạn hết bộ nhớ trống, các trang trong đống "không hoạt động" sẽ bị xóa. Bộ nhớ cờ cũng sẽ chạy chế độ nghiêng hoàn toàn sắp xếp bộ nhớ thành hoạt động và không hoạt động. Thông thường, bạn sẽ thấy rất nhiều "không hoạt động" trong khi trao đổi được ghi vào, cho biết rằng trình cắm cờ nhớ đang làm những gì nó được yêu cầu.

Trang phảiđược phân loại là không hoạt động trước khi chúng được trao đổi. Đó là những gì trích dẫn từ trang web Apple Developer có nghĩa là khi nói "Những trang này chứa dữ liệu hợp lệ nhưng có thể được phát hành khỏi bộ nhớ bất cứ lúc nào". Điều này trái ngược với các trang Hoạt động, sẽ không được phát hành cho đến khi chúng bị hạ cấp thành Không hoạt động. Có nhiều cách khác nhau để phát hành trang; nếu trang được ánh xạ từ một tệp và chưa được sửa đổi, nó có thể bị xóa ngay lập tức và đọc lại theo yêu cầu. Tương tự như vậy nếu đó là bộ nhớ đã bị tráo đổi trước đó và không được sửa đổi kể từ khi nó bị tráo đổi. Các chương trình cũng có thể phân bổ rõ ràng bộ nhớ cache và bộ nhớ có thể xóa, để lưu trữ dữ liệu có thể bị quên và được tạo lại theo yêu cầu (nhưng lý do chương trình sẽ phân bổ bộ đệm là nếu nó cần thời gian đáng kể để tạo lại dữ liệu đó.

Do đó, nhìn vào dung lượng bộ nhớ "không hoạt động" trong Trình giám sát hoạt động và thấy rằng có rất nhiều thiết bị không hoạt động cùng lúc với máy tính đang ghi để trao đổi, chỉ cho bạn biết rằng hệ thống đang hoạt động như thiết kế.

Ngoài ra còn có sự nhầm lẫn giữa bộ nhớ không hoạt động và bộ đệm tệp. Tôi không chắc tại sao có sự nhầm lẫn đó, bởi vì Activity Monitor đã liệt kê chúng dưới các tiêu đề riêng biệt. Bộ nhớ cache là bộ nhớ được sử dụng để lưu trữ dữ liệu gần đây đã được đọc hoặc ghi từ hệ thống tệp, trong trường hợp chúng cần được truy cập lại. Khi bộ nhớ còn thấp, OS X có xu hướng loại bỏ bộ đệm trước. Nếu bạn có tính năng hoán đổi trao đổi và Trình giám sát hoạt động hiển thị một đống bộ đệm lớn (KHÔNG hoạt động) thì đó sẽ là một vấn đề. Nhưng bộ nhớ không hoạt động là một điều khác nhau.

Nếu nghi ngờ, hãy bỏ qua sự phân biệt giữa "không hoạt động" và "hoạt động". Coi chúng là một khối "bộ nhớ được sử dụng bởi các chương trình" và cộng hai số lại với nhau. Đây là điều mà mọi hệ điều hành khác làm khi nói với bạn về việc sử dụng bộ nhớ.

LƯU Ý cho OS X 10.9: Mavericks giới thiệu "nén bộ nhớ", ít nhiều, là một lớp trao đổi khác. Các trang hiện hoạt được phân loại không hoạt động, sau đó được nén (có thể hiển thị dưới dạng bộ nhớ Kernel tùy thuộc vào công cụ bạn đang sử dụng), sau đó được viết để trao đổi khi mức sử dụng bộ nhớ tăng. Mavericks cũng đã ngừng hiển thị các số riêng biệt cho hoạt động và không hoạt động trong Trình giám sát hoạt động, vì hóa ra nó không phải là một điều hữu ích để xem xét, đặc biệt là đưa ra những quan niệm sai lầm xung quanh nó.


4

Hiện tại không có cách dễ dàng nào để điều chỉnh hành vi swappiness (hay còn gọi là) của macos X. Có một số hack có sẵn (yêu cầu tài khoản nhà phát triển & SDK):

http://roudelamerde.com/archives/22-Killing-Mac-OS-X-Swaps-How-To-Disable-dynamic_pager.html

http://dropsafe.cryptinf.com/article/3848

Chúc may mắn!

Phần tái bút. Tôi đoán bạn có thể muốn đọc câu trả lời này (cũng bởi tôi) để có đánh giá tổng quát hơn về những gì bộ nhớ hoạt động, không hoạt động và các bộ nhớ khác trong MacOSX: Bộ nhớ có dây so với Bộ nhớ hoạt động trong OS X


Cảm ơn bạn đã trả lời. Điều chỉnh swappiness chắc chắn sẽ giúp - bummer rằng nó không dễ dàng! Về liên kết đầu tiên, tôi thực sự đang tìm kiếm một hack không bao gồm vô hiệu hóa trao đổi / động_pager hoàn toàn và khởi động lại, vì điều đó đòi hỏi quá nhiều nỗ lực để vô hiệu hóa việc sử dụng trao đổi, cũng như khiến hệ thống không ổn định khi tiếp cận số lượng thấp bộ nhớ không hoạt động và miễn phí. Liên kết thứ 2 đề cập đến vấn đề ngày càng tăng các tệp hoán đổi. Trong khi và vấn đề quan trọng đặc biệt là khi một người đang ở mức thấp trong các tệp hoán đổi, thì nó không thực sự liên quan đến câu hỏi của tôi trong chuỗi này ...
Motin

4

Không phải là một giải pháp lâu dài, nhưng ít nhất nó có thể giúp lấy lại một số bộ nhớ không hoạt động, có khả năng tránh sự hoán đổi đáng sợ: http://itunes.apple.com/nz/app/freememory/id460931672?mt=12

Công cụ này là miễn phí và khá dễ sử dụng. Sau khi bắt đầu, chọn tùy chọn "Bộ nhớ trống" trong thanh công cụ / menu hệ thống.

Không giống như màn hình bộ nhớ ActivityMonitor, nó chỉ hiển thị bộ nhớ trống, dường như là một chỉ báo tốt hơn về việc hoán đổi có xảy ra hay không.


Tôi đã đánh giá ứng dụng này kể từ đề xuất của bạn khoảng hai tháng trước. Có vẻ như ứng dụng này thực sự làm tăng dung lượng bộ nhớ "miễn phí" thông qua các thủ thuật khác nhau, bao gồm cả việc đòi hỏi rất nhiều bộ nhớ cho chính nó, sau đó phát hành nó. Tuy nhiên, điều này khiến cho cùng một lượng bộ nhớ mà nó "giải phóng" bị tráo đổi. Điều này có nghĩa là nó không giúp giải phóng bất kỳ bộ nhớ nào, chỉ chuyển nội dung bộ nhớ từ ram sang hd. Cuối cùng, điều này gây ra rất nhiều trao đổi khi tôi cố gắng sử dụng các ứng dụng đã mở trong khi giải phóng bộ nhớ, vì rất nhiều vm của nó hiện đang được trao đổi. :(
Motin 17/03/2016

@Motin, tôi đã sử dụng FreeMemory trong nhiều tháng và nó không làm điều đó, ít nhất là theo kinh nghiệm của tôi. Nếu tôi phải giáo dục phỏng đoán (dựa trên những gì tôi đã thấy trong Trình giám sát hoạt động), thì sự khác biệt là FM sử dụng bộ nhớ "hoạt động" trước, được ưu tiên hơn so với bộ đệm đĩa. Nó "giải phóng" bộ nhớ khác bằng cách ưu tiên cao hơn, sau đó nó giải phóng bộ nhớ của chính nó . Tôi chưa bao giờ thấy nó thêm vào để trao đổi đáng kể (có thể là một lượng nhỏ được phân bổ trong khi tiêu thụ).
mí mắt

2

Bắt đầu với OS X 10.5, có một số vấn đề về quản lý bộ nhớ rõ ràng trong MAC OS X. Sau đó, web đã bị lộn xộn với các khiếu nại về việc hệ thống bị chậm đi đáng kể sau một thời gian. Hồi đó tôi có máy chạy chậm hơn, Mac Mini có RAM 1GB, vì vậy tôi (đã nhầm) kết luận rằng đó là do phần cứng kém hơn.

Bây giờ tôi có 2010 MBP, core i7, RAM 8 GB, GPU kép. Mac os X Snow Leopard rất đau đớn, nhưng sau khi chuyển sang OS X Lion, làm việc một số thứ nghiêm trọng trên MAC bắt đầu trở thành một cơn ác mộng.

Cuối cùng tôi đã xoay sở để tái tạo kịch bản có vấn đề, vì vậy tôi chạy thử nghiệm và ghi lại màn hình, thành video.

Vấn đề về hiệu năng MAC OS X Lion - quản lý bộ nhớ bị hỏng

Tôi chạy lệnh tar + bzip, là công cụ unix cơ bản, với số lượng lớn tệp ảnh, trong thư mục Ảnh / của tôi. Ngay trước khi bắt đầu, tôi chạy lệnh "purge", để xóa dữ liệu chương trình không hoạt động / lưu trữ.

Bạn có thể thấy trên video rằng bộ nhớ trống bắt đầu giảm rất nhanh và không hoạt động liên tục tăng. Nếu bạn xem lệnh "bsdtar", nó chỉ mất một đoạn RAM, vì vậy vấn đề không nằm ở quy trình này. Bạn không thể nói rằng đó là rò rỉ bộ nhớ chương trình, vì khi đó vấn đề sẽ không nằm ở ram không hoạt động, thay vào đó là hoạt động / có dây.

Khi bộ nhớ trống giảm xuống dưới 100mb, tôi đã khởi động một số ứng dụng, như Safari, iPhoto và MS Word, và bạn có thể thấy trong video, phải mất vài phút để khởi động một ứng dụng, khi bình thường (khi có RAM miễn phí), nó sẽ mất khoảng 3-5 giây để tải.

Tôi chạy cùng một kịch bản và các lệnh tương tự trên hộp Linux Centos 6 của tôi, không có vấn đề gì cả! Sử dụng bộ nhớ là khoảng 10-20mb, không có vấn đề với bộ đệm / bộ đệm.

Việc quản lý bộ nhớ phải rất bị hỏng trong Mac OS X!


2
Những gì bạn đang thấy là các tập tin bộ nhớ đệm hệ thống trong bộ nhớ. Tôi đồng ý rằng có một vấn đề, trong đó bộ đệm dường như không bao giờ bị xóa ... nhưng chính bộ nhớ đệm (và sự phát triển của bộ nhớ không hoạt động là hậu quả) là một tính năng hiệu suất hữu ích và đôi khi hữu ích.
mí mắt

Ngoài ra môi trường thử nghiệm là xa vô trùng. Chúng tôi không thể cho biết chương trình QuickTime Player đang làm gì, hoặc bất kỳ chương trình nào khác mở.
chrishiestand

1

Tôi cá là không có câu trả lời đúng cho vấn đề này. Bộ nhớ vẫn hoạt động tương tự khi bạn đặt máy Mac vào chế độ ngủ, nó chỉ phát triển và phát triển theo mỗi giấc ngủ của bạn.

Về mặt "vui vẻ" (còn gọi là đắt tiền), bạn có thể nâng cấp bộ nhớ hoặc thay thế ổ cứng bằng SSD, vì vậy việc hoán đổi sẽ không phải là một cú hích hiệu năng. Tôi đã chọn tùy chọn đầu tiên, vì bộ nhớ Corsair hiện có sẵn ở một mức giá hợp lý.

RAM 16GB


2
Hãy nhớ rằng SSD có chu kỳ ghi hạn chế. Cũng lưu ý rằng đối với các ổ SSD không được cắt xén, việc ghi cuối cùng có thể tốn kém vì tế bào Flash phải bị xóa.
Cua lượn sóng

Bạn có thể trích dẫn một nguồn về vấn đề "Giấc ngủ khiến việc sử dụng bộ nhớ tăng lên" không?
GordonM

Tôi có thể trích dẫn kinh nghiệm của tôi? :) Tôi đã thực hiện một tìm kiếm nhanh và tìm thấy điều này : ferences.apple.com/message/21624847#21624847 + có nhiều chủ đề liên quan đến bộ nhớ không hoạt động không bị xóa khi cần. Cá nhân tôi đã thấy làm thế nào, sau mỗi giấc ngủ, bộ nhớ không hoạt động vẫn như trước và tăng lên. 'thanh lọc' là một tùy chọn, nhưng tôi sẽ không muốn xóa bộ nhớ không hoạt động cứ sau 20 phút (tôi cá rằng đây sẽ là trường hợp có RAM 4 GiB).

1
SSD @WeefCrab có thể có chu kỳ ghi hạn chế, nhưng không có khả năng bạn sẽ đạt đến giới hạn đó. Tôi sẽ không lo lắng về điều đó, trừ khi đó là ổ SSD cho Trung tâm dữ liệu. Trong mọi trường hợp nếu bạn định hạ SSD bằng cách viết quá nhiều, bạn sẽ hạ ổ cứng sớm hơn.
andreadi
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.