Di chuyển các tập tin hoán đổi sang một phân vùng chuyên dụng trong Snow Leopard


31

Tôi đã có thể di chuyển các bộ nhớ hoán đổi bộ nhớ ảo của Apple sang một phân vùng chuyên dụng trên ổ cứng cho đến bây giờ. Kỹ thuật tôi đang sử dụng được mô tả trong một chủ đề trên forum.macosxhints.com.

Tuy nhiên, với bản xem trước dành cho nhà phát triển của Snow Leopard, phương pháp này không còn hoạt động. Có ai biết làm thế nào nó có thể được thực hiện với hệ điều hành mới?

Cập nhật: Tôi đã đánh dấu câu trả lời của dblu là được chấp nhận mặc dù nó không hoạt động tốt vì anh ấy đã đưa ra hướng dẫn chi tiết, xuất sắc và vì đề nghị sử dụng của anh ấy plutilcuối cùng đã chỉ cho tôi đi đúng hướng. Giải pháp hoàn chỉnh, hiệu quả được đăng ở đây trong câu hỏi vì tôi không đủ uy tín để chỉnh sửa câu trả lời được chấp nhận.

Cập nhật # 2: Thay đổi quy trình để minh họa kỹ thuật của ekl , giúp đơn giản hóa toàn bộ mọi thứ bằng cách loại bỏ sự cần thiết của một tập lệnh shell trung gian:

Giải pháp hoàn chỉnh:

1. Mở Terminal và tạo một bản sao lưu của Dynamic_pager.plist mặc định của Apple:

$ cd /System/Library/LaunchDaemons
$ sudo cp com.apple.dynamic_pager.plist{,_bak}

2. Chuyển đổi số nguyên từ nhị phân sang XML đơn giản:

$ sudo plutil -convert xml1 com.apple.dynamic_pager.plist

3. Mở bảng chuyển đổi với trình soạn thảo văn bản của bạn lựa chọn. (Tôi sử dụng pico, xem câu trả lời của dblu để biết ví dụ sử dụng vim):

$ sudo pico -w com.apple.dynamic_pager.plist

Nó sẽ trông như sau:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$
<plist version="1.0">
<dict>
    <key>EnableTransactions</key>
    <true/>
    <key>HopefullyExitsLast</key>
    <true/>
    <key>Label</key>
    <string>com.apple.dynamic_pager</string>
    <key>OnDemand</key>
    <false/>
    <key>ProgramArguments</key>
    <array>
        <string>/sbin/dynamic_pager</string>
        <string>-F</string>
        <string>/private/var/vm/swapfile</string>
    </array>
</dict>
</plist>

4. Sửa đổi mảng ProgramArgument (dòng 13 đến 18) để sử dụng lệnh shell Wait4path (như được đề xuất bởi ZILjr ) trước khi khởi chạy Dynamic_pager . Xem ghi chú số 1 để biết chi tiết về lý do tại sao điều này là cần thiết. Trong ví dụ sau, phân vùng của tôi được gọi là 'Hoán đổi' và tôi đã chọn đặt các tệp hoán đổi trong một thư mục ẩn trên phân vùng đó, được gọi là '.vm', hãy chắc chắn rằng thư mục bạn chỉ định thực sự tồn tại . XML sẽ trông như sau:

<key>ProgramArguments</key>
<array>
    <string>/bin/bash</string>
    <string>-c</string>
    <string>/bin/wait4path /Volumes/Swap/ &amp;&amp;
/sbin/dynamic_pager -F /Volumes/Swap/.vm/swapfile</string>
</array>

5. Lưu lại bảng và quay lại dấu nhắc thiết bị đầu cuối. Sử dụng pico, các lệnh sẽ là:

<ctrl+o> to save the file
<enter>  to accept the same filename (com.apple.dynamic_pager.plist)
<ctrl+x> to exit

6. Chuyển đổi plist đã sửa đổi trở lại nhị phân:

$ sudo plutil -convert binary1 com.apple.dynamic_pager.plist

7.Khởi động lại máy Mac của bạn. Nếu bạn gặp rắc rối, hãy chuyển sang chế độ khởi động dài dòng bằng cách nhấn giữ Command-v ngay sau tiếng chuông khởi động. Điều này sẽ cho phép bạn xem tất cả các thông báo khởi động xuất hiện trong khi khởi động. Nếu bạn gặp phải rắc rối thậm chí còn tồi tệ hơn (tức là bạn không bao giờ thấy màn hình đăng nhập), hãy giữ phím Command thay vào đó. Điều này sẽ khởi động máy tính ở chế độ một người dùng (không có UI đồ họa, chỉ là một dấu nhắc lệnh) và cho phép bạn khôi phục bản sao lưu của com.apple.dynamic_pager.plist mà bạn đã thực hiện ở bước 1.

8. Khi máy tính khởi động, kích hoạt Terminal và xác minh rằng các tệp hoán đổi đã thực sự được di chuyển:

$ cd /Volumes/Swap/.vm
$ ls -l

Bạn sẽ thấy một cái gì đó như thế này:

-rw-------  1 someUser  staff  67108864 18 Sep 12:02 swapfile0

9. Xóa các tập tin hoán đổi cũ:

$ cd /private/var/vm
$ sudo rm swapfile*

10. Lợi nhuận!

Lưu ý 1

Sửa đổi các đối số thành Dynamic_pager trong phần chính mà không sử dụng wait4pathkhông phải lúc nào cũng hoạt động và khi thất bại, nó sẽ thực hiện theo cách im lặng ngoạn mục. Vấn đề bắt nguồn từ thực tế là Dynamic_pager được khởi chạy từ rất sớm trong quá trình khởi động. Nếu phân vùng trao đổi của bạn chưa được gắn kết khi tải động_pager lần đầu tiên (theo kinh nghiệm của tôi, điều này xảy ra 99% thời gian), thì hệ thống sẽ giả mạo theo cách của nó. Nó sẽ tạo một liên kết tượng trưng trong thư mục / Tập tin có cùng tên với phân vùng trao đổi của bạn, nhưng trỏ lại vị trí hoán đổi mặc định (/ private / var / vm). Sau đó, khi phân vùng trao đổi thực tế của bạn gắn kết, nó sẽ được đặt tên Swap 1(hoặc YourDriveName 1). Bạn có thể thấy vấn đề bằng cách mở Terminal và liệt kê nội dung của thư mục / Tập của bạn:

$ cd /Volumes
$ ls -l

Bạn sẽ thấy một cái gì đó như thế này:

drwxrwxrwx  11 yourUser  staff   442 16 Sep 12:13 Swap -> private/var/vm
drwxrwxrwx  14 yourUser  staff     5 16 Sep 12:13 Swap 1 
lrwxr-xr-x   1 root      admin     1 17 Sep 12:01 System -> /

Lưu ý rằng thất bại này có thể rất khó phát hiện. Nếu bạn đã kiểm tra các hoán đổi như tôi trình bày ở bước 12, bạn vẫn sẽ thấy chúng ! Liên kết tượng trưng sẽ làm cho nó có vẻ như các tệp hoán đổi của bạn đã được di chuyển, mặc dù chúng thực sự được lưu trữ ở vị trí mặc định.

Lưu ý 2

Ban đầu tôi không thể làm cho nó hoạt động trong Snow Leopard vì com.apple.dynamic_pager.plist được lưu trữ ở định dạng nhị phân. Tôi đã tạo một bản sao của tệp gốc và mở nó bằng Trình chỉnh sửa danh sách tài sản của Apple (có sẵn với Xcode) để thực hiện các thay đổi, nhưng quá trình này đã thêm một số thuộc tính mở rộng vào tệp plist khiến hệ thống bỏ qua nó và chỉ sử dụng mặc định . Như dblu đã chỉ ra, sử dụng plutilđể chuyển đổi tệp thành XML đơn giản hoạt động như một nét quyến rũ.

Lưu ý 3

Bạn có thể kiểm tra ứng dụng Console để xem bất kỳ thông báo nào động_pager_init vang lên màn hình. Nếu bạn thấy các dòng sau lặp đi lặp lại nhiều lần, có một vấn đề với việc thiết lập. Tôi gặp phải những thông báo này vì tôi quên tạo thư mục '.vm' mà tôi đã chỉ định trong Dynamic_pager_init.

com.apple.launchd[1]  (com.apple.dynamic_pager[176]) Exited with exit code: 1
com.apple.launchd[1]  (com.apple.dynamic_pager) Throttling respawn: Will start in 10 seconds

Khi mọi thứ đều hoạt động bình thường, bạn chỉ có thể thấy thông báo trên một vài lần, và sau đó không còn tin nhắn "Hồi sinh hồi hộp" nữa. Điều này có nghĩa là hệ thống đã phải chờ phân vùng tải, nhưng cuối cùng nó đã thành công.


Tôi thực sự tò mò về lý do tại sao bạn muốn làm điều này?
BinaryMisfit

Đối với hiệu suất tăng nhỏ. Tôi muốn giữ (các) ổ cứng của tôi được phân vùng theo cách sử dụng. Tôi có một phân vùng cho HĐH và các ứng dụng, một cho thư mục người dùng, một cho tài liệu, một cho phương tiện (nhạc, phim, v.v.) và một cho các tệp hoán đổi. Theo kinh nghiệm của tôi, việc giữ các tệp hoán đổi tách biệt với phần còn lại của hệ thống sẽ giữ cho sự phân mảnh đĩa thấp. Sở thích của tôi sẽ là trao đổi trên một ổ đĩa chuyên dụng, nhưng một phân vùng khác thường sẽ đủ.
e.James

4
Đủ công bằng - Tuy nhiên, các phân vùng trên cùng một ổ đĩa thực sự gây ra nhiều công việc hơn cho chính ổ đĩa đó, tuy nhiên các phân vùng trên các ổ đĩa khác nhau mang lại hiệu suất tăng. Ổ cứng phải thực hiện nhiều công việc hơn khi nhảy qua các phân vùng trên một ổ đĩa. Tôi chỉ hỏi vì tôi vẫn chưa gặp sự cố phân mảnh và hiệu suất trên máy Mac sau gần 2 năm sử dụng và khi tôi thấy những bài đăng này họ quan tâm đến tôi.
BinaryMisfit

1
Tôi không chắc tại sao tôi không thể đăng câu trả lời ( 101 đại diện, trong đó - nếu tôi có thể nhớ toán học của mình - nhiều hơn 10 mà nhà nước được bảo vệ yêu cầu) , nhưng tôi đã tìm thấy một wait4pathgiải pháp không , nhờ vào những gì Applicorn Xupport sửa đổi cho tôi. Tôi sẽ đăng một câu trả lời đầy đủ khi tôi tìm ra cách, nhưng rút gọn là thay đổi đối số chương trình cuối cùng thành đường dẫn mới (ví dụ <string>/Volumes/swap/.vm/swapfile</string>), thay đổi OnDemandkhóa thành <true/>và thêm StartOnMountkhóa vào cuối bằng một giá trị của <true/>. PS Giải pháp này hoạt động tốt trong Lion (ít nhất là đối với tôi).
Slipp D. Thompson

1
@Slipp Douglas: Có vẻ hợp pháp với tôi. Các StartOnMountlá cờ đã được bổ sung trong 10,5 theo: mactech.com/articles/mactech/Vol.25/25.10/...
e.James

Câu trả lời:


10

LƯU Ý : Xem (cũng) một câu trả lời đúng / được cải thiện trong chính câu hỏi.


Giải pháp sau đây làm việc cho tôi:

Mở một thiết bị đầu cuối và sao lưu com.apple.dynamic_pager.plist mà bạn sẽ thay đổi trong một giây:

$ cd / Hệ thống / Thư viện / LaunchDaemons
$ sudo cp com.apple.dynamic_pager.plist {, _ bak}

chuyển đổi nhị phân nhị phân thành xml:

$ sudo plutil -convert xml1 com.apple.dynamic_pager.plist

và mở nó bằng trình soạn thảo văn bản yêu thích của bạn

$ sudo vim com.apple.dynamic_pager.plist

nó sẽ trông giống như thế này:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 3 <plist version="1.0">
 4 <dict>
 5     <key>EnableTransactions</key>
 6     <true/>
 7     <key>HopefullyExitsLast</key>
 8     <true/>
 9     <key>Label</key>
10     <string>com.apple.dynamic_pager</string>
11     <key>OnDemand</key>
12     <false/>
13     <key>ProgramArguments</key>
14     <array>
15         <string>/sbin/dynamic_pager</string>
16         <string>-F</string>
17         <string>/private/var/vm/swapfile</string>
18     </array>
19 </dict>
20 </plist>

Trong dòng 17 sửa đổi / private / var / vm / exchangefile (ví dụ / Tập / phân vùng2 / hoán đổi), lưu và đóng trình soạn thảo của bạn (": x" sẽ thực hiện cả hai trong vim).

chuyển đổi tập tin plist trở lại nhị phân:

$ sudo plutil -convert binary1 com.apple.dynamic_pager.plist

Sau khi khởi động lại máy Mac của bạn, bạn sẽ tìm thấy các tệp hoán đổi trong thư mục bạn đã chỉ định.

Nếu bạn gặp phải bất kỳ sự cố nào, bạn có thể khôi phục bản sao lưu bạn đã tạo ở bước đầu tiên với:

$ cd / Hệ thống / Thư viện / LaunchDaemons
$ sudo cp com.apple.dynamic_pager.plist {_bak,}

Bạn có chắc chắn rằng hoán đổi thực sự đang được chuyển đến phân vùng với thiết lập này? Khi tôi thử phương pháp này ban đầu, Dynamic_pager sẽ tải trước khi các phân vùng thứ cấp được gắn kết. Hệ thống sẽ giả mạo theo cách của nó bằng cách tạo một liên kết tượng trưng đến phân vùng 2 trong thư mục / Tập tin đơn giản chỉ về / private / var / vm. Bạn có thể xác định lỗi bằng cách thực hiện ls -al trong thư mục / Tập tin, trong đó bạn sẽ thấy cả "phân vùng 2" (liên kết tượng trưng) và "phân vùng 2 1" (phân vùng thực tế của bạn).
e.James

Dù bằng cách nào, +1 cho kỹ thuật chuyển đổi tệp plist sang & từ định dạng nhị phân. com.apple.dynamic_pager.plist ở định dạng văn bản thuần túy trong 10.5.x, nhưng ở định dạng nhị phân kể từ ngày 10.6. Đó là một phần của vấn đề của tôi. Tôi đã sửa đổi các tệp plist bằng ứng dụng Trình soạn thảo danh sách tài sản đi kèm với Xcode và có thể đó là lý do tại sao mọi thứ không hoạt động. Tôi sẽ thử plutil và xem nếu nó giúp tôi thêm nữa.
e.James

Tôi không thể kiểm tra nó với một phân vùng khác vào lúc này, tuy nhiên trong các thử nghiệm của mình, tôi đã tạo Dynamic_pager tạo các tệp hoán đổi trên ngón tay cái bằng cách sử dụng kỹ thuật trên.
dblu

Tôi đã có thể làm cho kỹ thuật ban đầu hoạt động, nhờ đề xuất của bạn để sử dụng plutilcho các chuyển đổi. Tôi đã đăng giải pháp hoàn chỉnh trong câu hỏi (vì tôi không có đủ đại diện để thêm nó vào câu trả lời của bạn). Xem ghi chú số 1 của tôi để biết mô tả chi tiết về các vấn đề tôi gặp phải chỉ với việc sửa đổi nguyên bản.
e.James

Dù sao, cảm ơn bạn đã trả lời. Bạn tập hợp một bộ hướng dẫn tuyệt vời và bạn chỉ cho tôi đi đúng hướng để tôi đã đánh dấu nó là được chấp nhận. Chúc mừng! :)
e.James

3

Tôi đã áp dụng ý tưởng này và đưa nó đi xa hơn một chút bằng cách giải quyết các chiến lược tăng trưởng và cải tạo.

Thông tin chi tiết tại http: //www.crypticide.com/dropsafe/article/3848 ; Tôi sẽ đăng một liên kết đến trang dự án GoogleCode "Dynamicpagerwrapper", nhưng blog nói với tôi rằng tôi không có đủ điểm danh tiếng ...


1
+1 công cụ tuyệt vời! Tôi đang thử nó ngay bây giờ. Đây là liên kết đến dự án GoogleCode: code.google.com/p/dynamicpagerwrapper
e.James

đảm bảo bạn đang sử dụng ít nhất bản sửa đổi 8 của tập lệnh: code.google.com/p/dynamicpagerwrapper/source/browse/trunk/

3

chỉ là một câu hỏi: tại sao không chỉ chỉnh sửa tệp .plist thêm wait4path, thay vì sử dụng trung gian dynamic_pager_init?

đại loại như thế này:

EDIT: như được giải thích trong bình luận của e.James và bình luận sau đây của tôi, khối XML ngay sau đó không tốt, cả vì có lỗi (thiếu &&) và vì chỉ có đối số đầu tiên của mảng ProgramArguments mà nó được phân tích cú pháp khi chương trình chạy !

nhưng .. (cuộn xuống)

 ...
13     <key>ProgramArguments</key>
14     <array>
15         <string>/bin/wait4path</string>
16         <string>/Volumes/Swap/</string>
17         <string>/sbin/dynamic_pager</string>
18         <string>-F</string>
19         <string>/Volumes/Swap/.vm/swapfile</string>
20     </array>
 ...

kết thúc khối xml sai


khối XML này sẽ hoạt động thay thế:

   ...
    13     <key>ProgramArguments</key>
    14     <array>
    15         <string>/bin/bash</string>
    16         <string>-c</string>
    17         <string>/bin/wait4path /Volumes/Swap/ &amp;&amp; /sbin/dynamic_pager -F /Volumes/Swap/.vm/swapfile</string>
    18     </array>
     ...

xin lưu ý rằng tôi vẫn không có đủ thời gian để thử cài đặt này một cách an toàn, nhưng tôi đã cố chạy nhiều lệnh shell khác được khởi chạy theo cùng một cách và mọi thứ sẽ hoạt động như mong đợi

Làm thế nào nó hoạt động:

cơ sở: thực thi wait4path /path && commandnghĩa commandlà chỉ chạy khi wait4pathkết thúc và thoát mà không có lỗi và điều này chỉ xảy ra khi /pathcó đường dẫn khả dụng, vì vậy chúng tôi có thể bảo dynamic_pagerđảm sử dụng âm lượng đó cho các tệp hoán đổi

1) như được viết trong launchd.plistmanpage, các khóa ProgramProgramArgumentsđược ánh xạ tới một execvpcuộc gọi, điều đó có nghĩa là mọi thứ trừ chuỗi đầu tiên trong mảng được coi là một đối số cho chuỗi đầu tiên trong mảng, chương trình sẽ chạy;

2) như được viết trong bashmanpage, có một bash -c <string>tùy chọn để chạy chuỗi được truyền dưới dạng các lệnh

1 + 2 = 3) điều gì xảy ra khi sử dụng dòng lệnh này trong một bảng khởi chạy ??

/bin/bash -c "wait4path /Volumes/Swap/ && /sbin/dynamic_pager -F /Volumes/Swap/.vm/swapfile"

/bin/bashlà chương trình để chạy, -clà đối số đầu tiên và chuỗi trích dẫn kép là đối số thứ hai

Tôi đoán nó sẽ hoạt động chính xác như giải pháp của bạn, không có tập lệnh trung gian: launchdsẽ khởi động dịch vụ, nó sẽ đợi đường dẫn đã cho và sau đó khởi chạy dynamic_pager..

Xin lưu ý rằng:
* chuỗi mà bạn muốn thực thi phải được trích dẫn gấp đôi nếu bạn chạy bash -ctrong Terminal, nhưng nó không được trích dẫn gấp đôi trong tệp plist! (tôi đoán vì nó đã được khai báo là một chuỗi có thẻ thích hợp)
* hai &chuỗi trong chuỗi phải được thay đổi thành &amp;trong tệp plist

PS: như mọi khi, hãy tự chịu rủi ro, tôi không chịu trách nhiệm cho những vấn đề bạn có thể gặp phải khi sử dụng cài đặt này!

cảm ơn vì đã chia sẻ công việc của bạn với chúng tôi


Đó là một ý tưởng thú vị. Tôi không chắc liệu việc đưa nhiều hơn một chương trình vào ProgramArgumentsmảng có hợp pháp hay không, nhưng chắc chắn là đáng để thử. Bạn đã thử nó chưa?
e.James

Xin lỗi, có lỗi trong bài viết trước của tôi, ý tưởng của tôi là chạy dòng lệnh sau (lưu ý && bị thiếu): Wait4path / Volume / Swap / && / sbin / Dynamic_pager -F /Volume/Swap/.vm/swapfile nếu ai đó tìm được cách "định dạng" dòng đó để launchd sẽ thích nó, tôi đoán nó sẽ hoạt động (tôi đang nghĩ về nó, có thể gọi / bin / bash một phần còn lại là đối số?); giải thích thêm về các trường Chương trình và Chương trìnhArgument có sẵn trong trang web launchd.plist và điều đó sẽ dẫn đến manpage execvp (3). Tôi đang đọc và suy nghĩ, nếu ai đó nhanh hơn xin vui lòng đăng :)
ekl

tôi đã chỉnh sửa bài viết trước với một giải pháp nên hoạt động, vui lòng bình luận nếu bạn thấy bất kỳ loại lỗi nào hoặc bất cứ điều gì có thể không hoạt động đúng, cảm ơn!
ekl

Tôi đã thử nó trên máy tính xách tay của tôi, và nó dường như hoạt động. Tôi sẽ để mắt đến nó trong vài ngày để chắc chắn, nhưng có vẻ như bạn đã đơn giản hóa toàn bộ quá trình! Làm tốt lắm:)
e.James

Phương pháp đơn giản hóa của bạn đang hoạt động như một nét duyên dáng trên máy tính xách tay của tôi. Cảm ơn bạn! Tôi sẽ cập nhật câu hỏi chính để kết hợp giải pháp của bạn.
e.James

2

Tôi biết đã được một thời gian kể từ khi bài viết này được viết nhưng tôi nghĩ rằng tôi sẽ thêm mục nhỏ của riêng mình xuống đây cho những ai muốn làm điều này cũng như vậy

Tôi đã sử dụng thủ thuật trên để chuyển các tập tin hoán đổi của mình sang một ổ đĩa nội bộ khác (ổ đĩa khởi động của tôi là SSD với chip MLC, vì vậy việc di chuyển vm tắt có thể tiết kiệm tuổi thọ). Dù sao, sau khi tạo tập mới, tôi có âm lượng Hoán đổi trong Finder mà tôi sẽ không bao giờ sử dụng trong Finder, vì vậy tôi quyết định làm cho âm lượng không hiển thị với Finder. Bạn cần cài đặt Bộ công cụ dành cho nhà phát triển của Apple. Sau đó gõ:

/Developer/Tools/SetFile -a V /Volumes/Swap/

Thay thế và thay thế / Tập / Hoán đổi với bất cứ điều gì bạn đặt tên cho khối lượng của bạn. Khởi động lại Finder và thế là không có khối lượng Hoán đổi trong Finder!


1

Bạn có thể sử dụng Wait4path để chờ âm lượng được gắn kết; nếu không, launchd sẽ khởi động lại tập lệnh động_pager_init của bạn nhiều lần cho đến khi nó ...


Xuất sắc! Tôi đã sử dụng wait4paththay vì if/ grepkết hợp, và điều đó làm sạch mọi thứ khá độc đáo. Cảm ơn vì tiền boa.
e.James

1

Có lẽ chúng ta có thể sử dụng Xupport để thực hiện những công việc bẩn thỉu đó cho chúng ta :) http://www.applicorn.com/

Trình tối ưu hóa bộ nhớ ảo:

Thay đổi vị trí tệp hoán đổi Trong Mac OS X, thông tin bộ nhớ ảo được lưu trữ trong cái gọi là "Swapfiles". Bởi vì các tệp hoán đổi là các tệp hệ thống tương tác nhất, nên đặt chúng trên một phân vùng riêng biệt. Bạn nên lưu trữ các tệp hoán đổi trên phân vùng đầu tiên của đĩa cứng nội bộ nhanh nhất của bạn. Kích thước phân vùng tối thiểu được đề xuất nên nhỏ hơn khoảng 3 hoặc 4 lần so với kích thước bộ nhớ tích hợp vật lý (ví dụ: bộ nhớ vật lý 1 GB = phân vùng trao đổi 4 GB). Các khuyến nghị và hướng dẫn cho một hiệu suất hệ thống tối ưu:

1. Phân vùng lại đĩa cứng của bạn với khối lượng trao đổi là phân vùng FIRST (sử dụng DVD cài đặt Mac OS X). CẢNH BÁO: HÃY THAM GIA MỘT DIUD CỨNG SILL KIẾM ĐƯỢC TẤT CẢ CÁC DỮ LIỆU HIỆN TẠI!

2. Khôi phục dữ liệu hệ thống của bạn hoặc cài đặt hệ thống mới trên phân vùng hệ thống.

3. Khởi động từ phân vùng hệ thống.

4. Nếu bạn muốn ẩn khối lượng trao đổi của mình với Finder: • Khởi chạy Xupport và chọn "Cài đặt" • Bật "Hiển thị các tệp và thư mục ẩn" và khởi động lại Finder • Đổi tên âm lượng trao đổi từ "hoán đổi" thành ".swap" (Dấu chấm làm cho nó vô hình với Finder) • Tắt "Hiển thị các tệp và thư mục bị ẩn" và khởi động lại Finder

5. Chọn phân vùng trao đổi mới trong "Hoán đổi dung lượng lưu trữ". Sau đó, nhấn nút "Đặt" để áp dụng cài đặt vị trí tệp hoán đổi mới (Yêu cầu khởi động lại).

BTW, nó làm việc cho tôi. Báo tuyết 10.6.2 @ Macbook Pro 2.4GHz, Ram 4GB, HD 500GB


Trông đầy hứa hẹn. Cảm ơn bạn đã liên kết và hướng dẫn chi tiết!
e.James


1

Đây rất có thể là một câu trả lời không mong muốn (vì tôi không thể nhận xét sau Diago), nhưng tại sao bạn thực sự khẳng định điều này sẽ mang lại hiệu suất nhỏ? Tôi đã trải qua một cuộc thảo luận trên các diễn đàn táo và kết luận rằng đây không phải là một ý tưởng tốt. Và tôi đã rất kháng cự khi từ bỏ nó. Bạn có thể đưa ra dữ liệu chứng minh rằng ít nhất là cho chính mình, hay đó chỉ là một "cảm giác"?

Từ mỗi lần tôi sử dụng trao đổi ngay cả trên linux, từ 10 năm trước và ngày nay trên Ubuntu, tôi không bao giờ có thể thấy sự cải thiện về hiệu suất. Lý do tôi muốn nó là để ngăn chặn các vấn đề với không gian trống trên OSX và, trên linux, vì có thể ngủ đông. Đó là tất cả trao đổi là với tôi.

Nhưng tôi chưa bao giờ thực sự nghiên cứu sâu hơn một mình hoặc trong các đan xen.


Đó là một lời chỉ trích hợp lệ. Tôi không có dữ liệu để hỗ trợ cho khiếu nại của mình :)
e.James

Mát mẻ. Vì vậy, cuối cùng, bạn cũng có thể từ bỏ việc trải qua tất cả những rắc rối này! : P
cregox

1

Đây không phải là một câu trả lời, nhưng có lẽ là một bổ sung theo dõi rất hữu ích. Apple cung cấp trình chỉnh sửa plist miễn phí tại đây PlistEdit Pro . Nó cho phép bạn chỉnh sửa các tập tin này một cách an toàn. Có vẻ như bạn chỉ có thể thay đổi đối số với giá trị / private / var / vm / exchangefile thành một cái gì đó như / Tập / OtherDrive / vm / myswapfilename để di chuyển các tệp hoán đổi ở nơi khác ...

Một lần nữa tôi đã không kiểm tra điều này ...


Đó là một suy nghĩ tốt, và điều đầu tiên tôi bắt đầu khi tôi đi xuống tuyến đường này. Vấn đề là phân vùng trao đổi không phải lúc nào cũng được gắn tại thời điểm khi máy nhắn tin động khởi chạy. Xem ghi chú số 1 trong chính câu hỏi để biết chi tiết về ý tôi.
e.James
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.