Anda dapat mengunci program Anda ke satu inti menggunakan schedutils
seperti yang dijelaskan dalam artikel Cyberciti ini :
sudo apt-get install schedutils
sudo taskset -c 3 -p 13545 # Lock PID 13545 to core 3
Namun, proses lain masih dapat dijadwalkan pada inti yang sama. Jadi hal kedua yang harus dilakukan adalah memastikan perintah Anda berjalan dengan prioritas tertinggi menggunakan perintah yang bagus (ini akan memberi tahu kernel Linux bahwa proses lain harus dilakukan terlebih dahulu jika perlu). Mulai program Anda dengan cara ini:
nice -n -20 your-program
Ada beberapa kemungkinan alasan lain untuk masalah waktu Anda. Ini tidak mudah untuk dilakukan:
- Jika Anda memprogram dengan Python ada pemulung yang terkadang menjeda program Anda untuk membebaskan memori yang tidak digunakan.
- Interupsi membuat CPU menangani sesuatu yang lain dari yang Anda inginkan. Misalnya, paket jaringan atau input / output lainnya.
- Jika program Anda banyak tidur mungkin ada proses lain yang mengisi cache CPU (L1 / L2 cache). Ini memaksa Anda untuk menunggu akses RAM.
- Lebih buruk lagi jika RAM Anda penuh sehingga proses Anda akan ditukar ke disk karena kartu SD sloooow.
Ada beberapa cara untuk membuat proses Anda realtime , yang artinya akan berjalan dengan jaminan waktu tertentu. Masalah dengan ini adalah bahwa segala sesuatu yang lain mungkin lebih lambat, dan itu adalah topik yang kompleks. Jika Anda ingin turun ke lubang kelinci ini, saya sarankan Anda mulai membaca tentang proses waktu nyata di Linux .