Process Explorer dapat menunjukkan prioritas IO efektif dari utas yang diberikan, tetapi tidak mengubahnya. Melihat dukungan prioritas IO adalah fitur yang relatif baru, sebagian besar program tidak menetapkan prioritas IO mereka sendiri. Tampaknya secara default prioritas IO berasal dari prioritas utas (daripada prioritas proses), yang tidak dapat dimodifikasi oleh Process Explorer.
Apakah ada alat lain di luar sana yang dapat membantu saya mengubah prioritas IO dari utas yang diberikan / semua utas dari proses yang diberikan?
Jawaban:
Alat Siap Pakai
Alat pihak ketiga untuk mengatur prioritas proses I / O, baik dengan tindakan pengguna manual atau otomatisasi dan ketekunan, akan menjadi Proses Lasso . Itu dapat mengatur hampir semua pengaturan proses, dan melakukannya terus-menerus, atau dengan aturan (misalnya ketika ini terjadi, ubah prioritas I / O dari itu).
Jawaban terprogram
Jawabannya adalah panggilan API sederhana ke NT Native API, NTSetInformationProcess . Ini didefinisikan sebagai kelas 'IoPriority' di DDK 2008. Di NT6 hanya dua level yang didukung: Sangat Rendah (latar belakang) dan Normal . Secara teknis ada 5 level yang ditentukan - Kritis, Tinggi, Normal, Rendah, dan Sangat Rendah. Level kritis dicadangkan untuk operasi paging. Tidak ada data tentang yang lain.
Namun, cara yang tepat untuk menggunakan prioritas I / O hanya untuk memulai 'mode latar belakang' melalui panggilan ke Windows API SetProcessPriorityClass , memasok PROCESSS_MODE_BACKGROUND_BEGIN. Ini akan menyebabkannya menggunakan prioritas I / O yang sangat Rendah (latar belakang), bersama dengan kelas prioritas CPU IDLE. Setelah selesai, kembalikan melalui PROCESS_MODE_BACKGROUND_END.
The SetThreadPriority API juga akan memungkinkan modus latar belakang ini sama untuk benang tertentu. Di sini Anda akan memasok THREAD_MODE_BACKGROUND_BEGIN / END.
sumber
Saya mengembangkan ini setelah melihat tidak ada yang peduli dengan itu: https://sourceforge.net/projects/iopriority/ (open source)
Program ini dapat mengatur prioritas I / O suatu proses, dan semua utas sedang terpengaruh olehnya segera. Cukup mudah untuk memodifikasinya agar berfungsi dengan utas alih-alih proses.
sumber
ProcessHacker adalah alat GUI yang dapat mengubah prioritas IO dari proses arbitrer.
sumber
Saya mendukung aplikasi gratis bernama PRIO, yang merupakan penghemat prioritas proses (antara lain) dengan tapak yang sangat kecil (kurang dari 1 MB). Setelah instalasi berjalan diam-diam di latar belakang sampai Anda membutuhkannya, dan antarmuka yang dibangun langsung ke Windows Task Manager, memperluas fungsionalitasnya dan membuatnya seolah-olah fitur yang ditambahkan selalu menjadi bagian dari Task Manager. Ketika Anda mengklik kanan suatu proses di Task Manager dengan maksud untuk mengubah prioritasnya, beberapa fitur PRIO yang ditambahkan menjadi jelas, karena Anda dapat mengubah tidak hanya prioritas proses CPU tetapi juga prioritas I / O (menyesuaikan pertanyaan Anda) , dan Anda dapat memilih SIMPAN pengaturan baru jika diinginkan. Yang terakhir ini membuatnya agar setiap kali proses (yaitu program itu) dijalankan, prioritas proses CPU dan I / O yang ditetapkan dan disimpan oleh Anda akan mulai berlaku.
Aplikasi ini memiliki fitur lain yang juga memperluas fungsionalitas berbagai tab di Windows Task Manager. Versi ada untuk sistem 32- dan 64-bit, dan aplikasi ini gratis untuk penggunaan pribadi.
sumber