Tiếng Việt
Appearance
Tiếng Việt
Appearance
Nhiều người mới làm quen với WSL2 sẽ gặp một "thắc mắc": rõ ràng đã cài đặt Linux, nhưng tại sao vừa đóng terminal một lúc thì nó lại "tự tắt máy"? Tại sao nó không thể chạy liên tục?
Bài viết này trước tiên mô tả hiện tượng này, sau đó giải thích vì sao Microsoft thiết kế WSL như vậy, và cuối cùng hướng dẫn cách dùng WSL Dashboard để khởi động một bản phân phối Linux ở chế độ keep-alive (giữ hoạt động).
Bạn đã từng trải qua tình huống sau chưa?
NOTE
"Thời gian chờ không hoạt động" (idle timeout) mặc định của WSL2 là khoảng 60 giây: khi không có tiến trình nào đang chạy trong bản phân phối (ví dụ khi bạn đóng tất cả các terminal), máy ảo WSL sẽ tự động tắt để giải phóng tài nguyên hệ thống như bộ nhớ.
Hành vi này là thiết kế mặc định của WSL2, không phải lỗi, cũng không phải sự cố.
WSL2 chạy nhân Linux hoàn chỉnh thông qua máy ảo hạng nhẹ Hyper-V (utility VM). Mỗi bản phân phối đang chạy đều thực sự chiếm tài nguyên bộ nhớ. Nếu tất cả các bản phân phối đều thường trú ở chế độ nền, một máy chạy đồng thời nhiều bản phân phối sẽ lãng phí hàng trăm MB, thậm chí vài GB bộ nhớ, làm chậm toàn bộ hệ thống.
Triết lý thiết kế của Windows là "cấp phát tài nguyên theo nhu cầu, không dùng thì giải phóng":
Vì vậy WSL áp dụng chiến lược "khởi động theo nhu cầu, dừng khi không hoạt động", để bộ nhớ và các tài nguyên khác tự động trả lại cho hệ thống khi không cần.
Việc WSL "tự tắt khi không hoạt động" giống như ra khỏi phòng thì tiện tay tắt đèn: tiết kiệm điện, hiệu quả hơn. Nhưng với những người "cần phòng luôn sáng" thì lại rất phiền — và đó chính là nguồn gốc của nhu cầu keep-alive.
TIP
Nếu bạn cần Linux chạy thường trú (ví dụ triển khai dịch vụ, chạy tác vụ định kỳ, dựng máy chủ phát triển...), hãy đọc chương tiếp theo và dùng WSL Dashboard để giữ bản phân phối hoạt động.
WSL Dashboard cung cấp hai cách đơn giản để giữ cho bản phân phối Linux của bạn luôn chạy.
Trong danh sách "Các bản phân phối Linux đã cài đặt" của WSL Dashboard:
Sau khi nhấp, bản phân phối ngay lập tức được đánh thức và chạy liên tục; chỉ cần bạn không chủ động dừng nó, nó sẽ không bị tự động tắt vì không hoạt động. Cách này phù hợp với nhu cầu giữ hoạt động tạm thời khi bạn "ngay bây giờ" cần Linux chạy liên tục.
Trong danh sách "Các bản phân phối Linux đã cài đặt" của WSL Dashboard:
Sau khi tích chọn, mỗi lần Windows khởi động/đăng nhập, bản phân phối sẽ tự động khởi động, không cần bất kỳ thao tác thủ công nào — "khởi động là giữ hoạt động ngay". Cách này phù hợp với các tình huống cần Linux trực tuyến lâu dài (như máy chủ phát triển, dịch vụ thường trú).
TIP