Hướng dẫn cách reset cache DNS trên OS X

Hệ phân giải tên miền DNS là một hệ phân cấp dùng để phân giải URL

thành địa chỉ IP mà máy tính sử dụng để truyền thông. Khi tải một trang

web hay một tài nguyên Web khác, máy tính có kết nối tới rất nhiều URL để

tải những thành phần khác nhau (một trang web, ảnh trên trang, một ứng

dụng, script…), vì vậy một dịch vụ DNS khỏe mạnh là một phần không thể

thiếu để có một kết nối Internet thông suốt.

Thậm chí mặc dù một dịch vụ DNS nhanh sẽ tối ưu kết nối, nhưng những

truy vấn thừa đến dịch vụ vẫn mất thời gian để hoàn tất. Do vậy, dựa trên cấu

hình DNS server, OS X sẽ lưu đệm kết quả truy vấn DNS trong một khoảng

thời gian xác định trước, cho phép truy cập nhanh hơn tới những kết quả tìm

kiếm DNS gần đây. Thời gian này thường tương đối ngắn, từ vài phút cho tới

vài tiếng, nhưng khoảng thời gian cũng phụ thuộc vào DNS server đang được

sử dụng. Một số server có thể được cấu hình để cập nhật bộ lưu đệm ở những

khoảng thời gian lâu hơn từ một ngày trở lên.

Mặc dù phần lớn bộ đệm sẽ tối ưu hóa kết nối và giúp kết nối Internet chạy

thông suốt, thì có những thời điểm cache có thể bị sự cố hoặc chứa thông tin

chưa cập nhật và không phân giải đúng một tài nguyên Web được yêu cầu.

Những lỗi với cache cũng có thể dẫn đến là chậm việc lướt web.

Do vậy, nếu bạn đang gặp những lỗi liên quan đến việc lướt web thì bên cạnh

những việc thường lệ như xóa cache trình duyệt và khắc phục kết nối mạng,

thiết lập router và các trình cắm plug-in, bạn cũng nên xem xét việc dọn dẹp

cache. Apple gần đây đã hướng dẫn cách xóa cache trên các hệ điều hành OS

X phiên bản mới của hãng.

Cách xóa cache DNS cơ bản là thực hiện lệnh sau trong cửa sổ lệnh

Terminal:

sudo dscacheutil –flushcache

Tuy nhiên, ở OS X Lion và Mountain Lion, Apple đã thay đổi cách thức lưu

đệm truy vấn DNS, không còn gắn với lệnh dscacheutil nữa, vì vậy nếu bạn

chạy câu lệnh này trên các phiên bản OS X mới hơn thì bạn sẽ nhận được

một thông báo lỗi “Unable to get details from the cache node”. Trên những

phiên bản OS X này, Apple đã thay đổi quá trình lưu đệm thường lệ bằng một

mDNSResponder process (Xử lý cốt lõi cho phân giải DNS) vì vậy chúng

được lưu trong bộ nhớ bởi process miễn là có duy trì một kết nối đến hệ

thống DNS. Do vậy, để xóa cache, chỉ cần gửi đến mDNSResponder process

một lệnh treo (hang-up) để khởi tạo lại cấu hình mà không cần tắt hoàn toàn

và khởi động lại. Để thực hiện, sử dụng câu lệnh:

sudo killall -HUP mDNSResponder

Ngoài lệnh killall trong cửa sổ lệnh, ta cũng có thể thực hiện trong tiện ích

Activity Monitor theo bước sau:

 Mở Activity Monitor (trong /Applications/Utilities/folder).

 Nhấn Command-1 để hiển thị cửa sổ Activity Monitor chính.

 Tìm và chọn mDNSResponder process.

 Chọn Send Signal To Process từ thực đơn View.

 Chọn Hangup từ thực đơn hiện ra.

 Nhấn Send.

Sau khi hoàn tất, một mDNSResponder process khác sẽ xuất hiện trong vài

giây trong Activity Monitor khi hệ thống khởi tạo lại process và sau khi

process biến mất thì DNS cache sẽ được xóa.