Những gì tôi có thể xóa từ / private / var / vm?


80

Thư mục này là gì? Nó rất lớn và tôi có thể sử dụng thêm phòng. Tôi đã đọc ngủ không cần thiết. Đây có phải là sự thật không? Tôi có nên đối phó với nó? Là thư mục "riêng tư" được làm trống tự động, hoặc tôi sẽ phải làm thủ công? Nếu nó không hữu ích (hoặc cần thiết), có cách nào để ngăn chặn nó xuất hiện trở lại trong tương lai không?

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


1
Bạn vẫn quan tâm đến các biện pháp phòng ngừa về câu hỏi? Điều đó có thể được hỏi tốt hơn bây giờ khi bạn có câu trả lời cho các khía cạnh chính của truy vấn của bạn.
bmike

Có vẻ như Lri đã trình bày bên dưới, nhưng cảm ơn vì tiền boa
Sói

Câu trả lời:


79

/var/vm/sleepimageđược sử dụng để lưu trữ nội dung của RAM trong chế độ ngủ đông và chế độ ngủ đông lai và chế độ ngủ mà máy tính xách tay Mac sử dụng theo mặc định. Nếu bạn có 8 GiB RAM, /var/vm/sleepimagecần khoảng 8 GiB dung lượng đĩa. Tôi không biết tại sao nó không bị xóa sau khi ngủ dậy. Có thể đảm bảo rằng có đủ không gian đĩa trống cho nó hoặc để nó sẽ không được lưu trữ trên các khối không liền kề nếu không gian đĩa thấp.

Bạn có thể xóa /var/vm/sleepimagemột cách an toàn, nhưng nó sẽ được tạo lại khi bạn đặt Mac vào chế độ ngủ. Nếu bạn chạy sudo pmset -a hibernatemode 0; sudo rm /var/vm/sleepimage, Mac sẽ sử dụng chế độ ngủ bình thường (như máy Mac để bàn theo mặc định) và nó sẽ không được tạo lại /var/vm/sleepimage.

Từ man pmset:

hibernHRode = 0 (nhị phân 0000) theo mặc định trên các máy tính để bàn được hỗ trợ. Hệ thống sẽ không sao lưu bộ nhớ để lưu trữ liên tục. Hệ thống phải thức dậy từ nội dung của bộ nhớ; hệ thống sẽ mất bối cảnh mất điện. Đây là, trong lịch sử, giấc ngủ cũ đơn giản.

hibernHRode = 3 (nhị phân 0011) theo mặc định trên các thiết bị di động được hỗ trợ. Hệ thống sẽ lưu trữ một bản sao của bộ nhớ để lưu trữ liên tục (đĩa) và sẽ cấp nguồn cho bộ nhớ trong khi ngủ. Hệ thống sẽ đánh thức khỏi bộ nhớ, trừ khi mất điện buộc nó phải khôi phục từ hình ảnh đĩa.

hibernHRode = 25 (nhị phân 0001 1001) chỉ có thể giải quyết thông qua pmset. Hệ thống sẽ lưu trữ một bản sao của bộ nhớ để lưu trữ liên tục (đĩa) và sẽ loại bỏ nguồn vào bộ nhớ. Hệ thống sẽ khôi phục từ hình ảnh đĩa. Nếu bạn muốn "ngủ đông" - ngủ chậm hơn, thức dậy chậm hơn và tuổi thọ pin tốt hơn, bạn nên sử dụng cài đặt này.

  • 0 (chế độ ngủ truyền thống) cho phép thức dậy và ngủ nhanh, tiết kiệm dung lượng ổ đĩa và giảm ghi vào ổ đĩa.
  • 3 (chế độ ngủ đông lai và chế độ ngủ an toàn) cho phép thức dậy và ngủ nhanh và cho phép khôi phục trạng thái sau khi mất điện.
  • 25 (ngủ đông) tiết kiệm năng lượng và cho phép khôi phục trạng thái sau khi mất điện.

Tôi đã sử dụng hibernHRode 0 với MacBook Air. Ngay cả khi MacBook Air đi ngủ khi pin gần hết, pin vẫn không hết hoàn toàn trong khi ngủ. /var/vm/sleepimagemất khoảng 4 GiB dung lượng ổ đĩa và việc ghi nó hàng trăm hoặc hàng nghìn lần có thể đã làm giảm tuổi thọ của SSD.


23

Bổ sung: Những gì Dan Barrett nói về việc tái tạo giấc ngủ là đúng. Tuy nhiên, có một cách để khắc phục nó và do đó giải phóng vĩnh viễn không gian đĩa bị chiếm chỗ bởi cơn buồn ngủ.

Toàn bộ các bước:

tắt chế độ ngủ đông:

sudo pmset -a hibernatemode 0

xóa / private / var / vm / ngủimage:

sudo rm /private/var/vm/sleepimage

tạo một tập tin trống và đặt tên là 'ngủ yên':

sudo touch /private/var/vm/sleepimage

thay đổi cờ của nó thành bất biến:

sudo chflags schg /private/var/vm/sleepimage

Bằng cách này, hệ thống không thể tạo lại cơn buồn ngủ nữa. Điều này hoạt động hoàn hảo với tôi và tôi đã không thấy bất kỳ vấn đề nào trên máy Mac của mình trong 4 tháng.


4

Không xóa / private / var / vm, đó là các tệp hoán đổi của bạn mà HĐH liên tục sử dụng.

Khi bạn cần trao đổi ít hơn hoặc bạn khởi động lại, hệ điều hành sẽ giảm số lượng tệp mà nó sử dụng ở đây.


Nhắc tôi về câu nói. Nếu nó không bị hỏng, đừng sửa nó!
iProgram

4
Tôi đã xóa toàn bộ thư mục vm của mình vì nghĩ rằng hệ thống sẽ tạo lại khi cần, nhưng điều đó đã không xảy ra. Khi hệ thống muốn sử dụng các tập tin trao đổi, nó bị đóng băng và khởi động lại. Bây giờ tôi đã tạo thư mục vm và hoán đổi, hy vọng điều này sẽ khắc phục vấn đề. Vì vậy, đừng xóa nó!
Rahul Thakur

2

Nếu nó không chiếm quá nhiều không gian (như trong trường hợp của bạn) thì tôi sẽ rời đi. Những thứ trong thư mục riêng không có nghĩa là bị rối tung. Đó là một phần của hệ thống UNIX mà máy Mac của bạn được xây dựng và không nên nhìn thấy. Đó là lý do tại sao họ gọi thư mục riêng tư . Nhưng phần mềm, như bạn đã sử dụng, làm cho nó hiển thị, đó không phải là một điều tốt.

Điều đó đang được nói, bạn có thể xóa hình ảnh ngủ này mà không có vấn đề gì, nhưng tôi không khuyên bạn nên dùng nó. Nếu bạn thực sự cần 4GB, hãy thử sử dụng ổ cứng cho phim, nhạc hoặc hơn và tiết kiệm dung lượng với các tệp của riêng bạn chứ không phải các tệp hệ thống.


3
Lần tới khi máy Mac của bạn đi ngủ, nó sẽ tạo lại hình ảnh ngủ, vì vậy không có lý do gì để xóa nó. @sean: không tăng RAM, tệp ngủ sẽ lớn bằng RAM được cài đặt trong hệ thống của bạn.
Dan Barrett

Tôi chỉ còn 15 GB trên máy tính xách tay của mình và / private / var / vm đang chiếm khoảng 12 GB mà tôi có thể sử dụng. Nó không ngay lập tức khẩn cấp ngay bây giờ, nhưng tôi đang xem xét nó.
dùng3932000

2

Một lưu ý bổ sung cho câu trả lời hàng đầu:

Vì bạn có thể chọn vô hiệu hóa chế độ ngủ, hoặc kích hoạt nó nhưng sau đó buộc phải giữ nó sau khi thức dậy, tôi đã tìm thấy một mẹo nhỏ bẩn cho giải pháp ưa thích của tôi: Có một cơn buồn ngủ nhưng xóa nó sau khi thức dậy để giải phóng không gian đĩa. Nếu bạn là một người như tôi thường xuyên có dung lượng trống khoảng 2-6 GB trên ổ SSD nhỏ, đây có thể là giải pháp của bạn.

Chỉ cần chỉ vào chỗ ngủ vào .Trashthư mục của bạn và đổ thùng rác của bạn sau khi thức dậy.

sudo pmset -a hibernatefile ~/.Trash/sleepimage

Đây chỉ là một giải pháp khả thi, nếu bạn chỉ sử dụng một tài khoản trên máy Mac của mình. Bạn sẽ không thể dễ dàng xóa tệp ngủ khỏi tài khoản khác (Tất nhiên là bạn có thể nếu tài khoản kia có đủ quyền, nhưng nó sẽ mất đi sự đơn giản vì nó không chỉ có nghĩa là nhấp vào thùng rác).

Nếu vì bất kỳ lý do gì bạn muốn quay lại cài đặt gốc, chỉ cần gõ

sudo pmset -a hibernatefile /var/vm/sleepimage

(Lưu ý: Tôi sử dụng 10.8, điều này có thể thay đổi trong các phiên bản khác, chỉ cần kiểm tra man pmsetđể chắc chắn.)


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.