2010-08-12 22 views
6

launchd có tùy chọn run process with low priority I/O. Làm thế nào nó hoạt động chính xác? (mức thấp thấp, ảnh hưởng đến tất cả các hoạt động?)I/O ưu tiên thấp trong OS X

Có API nào cho phép I/O ưu tiên thấp trong các ứng dụng không được khởi chạy qua launchd không?

Tôi cần quét các thư mục đã xem (FSEvents) trong ứng dụng nền và tôi muốn điều này càng nhẹ nhàng càng tốt.

Cách khác, làm cách nào để kiểm tra xem hệ thống/đĩa có bận làm I/O không?

Trả lời

4

Khởi chạy sử dụng setiopolicy_np (man page), như có thể thấy trong mã nguồn here.

Các API chuẩn FSEvents được giải thích trong this Apple doc đủ nhẹ nhàng, vì vậy bạn không cần phải quan tâm. Nó chỉ cho bạn biết thực tế rằng một cái gì đó trong một thư mục theo dõi được thay đổi.

Nếu bạn thực sự nhấn vào /dev/fsevents và nhận dữ liệu thô, bạn cần phải rất cẩn thận để không áp đảo hệ thống.

+0

Tôi sử dụng FSEvents. Nó nói khi thay đổi thư mục, nhưng sau đó tôi phải quét thư mục đó, đôi khi đệ quy (khi FSEvents kết hợp hoặc giảm sự kiện). 'setiopolicy_np' trông hoàn hảo! – Kornel

Các vấn đề liên quan