Saya memiliki akses ke simpul 8-inti dari cluster Linux. Ketika masuk ke node, saya bisa melihat daftar prosesor menggunakan perintah ini:
more /proc/cpuinfo
Dalam simpul 8-core saya, prosesor diberi nomor dari 0 hingga 7. Setiap prosesor adalah CPU Intel Xeon (E5430 @ 2.66GHz).
Sekarang anggaplah saya memanggil program foo
dengan beberapa argumen args
:
foo args
Program ini foo
membutuhkan waktu lama untuk dieksekusi (jam atau hari, misalnya). Setelah dipanggil foo
, apakah mungkin untuk menentukan prosesor tertentu (yaitu, 0 hingga 7) yang foo
sedang berjalan? The top
Program acara saya proses ID dan informasi serupa, tapi saya tidak melihat prosesor nomor . Apakah informasi tersebut tersedia?
foo
ke dua prosesor yang berbeda. Ketika saya menelepon foo
sekali, itu berjalan dengan %CPU
sangat dekat dengan 100% (menurut top
). Tetapi ketika saya memanggil foo
kedua kalinya, kedua foo
proses berjalan sedemikian rupa sehingga %CPU
untuk kedua proses berjumlah kurang dari 100% (biasanya sekitar 45% untuk setiap foo
proses). Bagi saya, ini menunjukkan bahwa dua panggilan untuk foo
berjalan pada prosesor yang sama (walaupun ada delapan prosesor yang tersedia); Saya ingin memverifikasi bahwa ini masalahnya.