man getrusage 2
kata
ru_maxrss (since Linux 2.6.32)
This is the maximum resident set size used (in kilobytes). For RUSAGE_CHILDREN, this is the resident set size of the largest
child, not the maximum resident set size of the process tree.
Jadi apa sebenarnya arti angka ini?
ru_maxrss
ada dalam byte pada mesin mac / BSD.ru_maxss
dalam byte pada mesin Mac OS X (Darwin), tetapi dalam kilobyte pada mesin BSD dan mesin Linux. Lihat stackoverflow.com/q/40773924/781723 dan stackoverflow.com/q/12050913/781723 .Jawaban:
Ukuran set resident suatu proses adalah jumlah memori yang dimiliki dan saat ini ada (resident) dalam RAM (RAM nyata, tidak bertukar atau tidak-resident).
Misalnya, jika suatu proses mengalokasikan sepotong memori (katakanlah 100Mb) dan menggunakannya secara aktif (membaca / menulis padanya), ukuran set residennya akan sekitar 100Mb (plus overhead, segmen kode, dll.). Jika setelah proses kemudian berhenti menggunakan (tetapi tidak melepaskan) memori untuk sementara waktu, OS dapat memilih untuk menukar potongan memori itu untuk bertukar, untuk memberikan ruang bagi proses lain (atau cache). Ukuran penduduk yang ditentukan kemudian akan berkurang dengan jumlah yang ditukar kernel. Jika proses bangun dan mulai menggunakan kembali memori itu, kernel akan memuat ulang data dari swap, dan ukuran yang ditetapkan penduduk akan naik lagi.
The
ru_maxrss
bidangstruct rusage
adalah "tanda air yang tinggi" untuk ukuran set penduduk. Ini menunjukkan puncak penggunaan RAM untuk proses ini (saat menggunakanRUSAGE_SELF
).Anda dapat membatasi ukuran set resident suatu proses untuk menghindari aplikasi tunggal "menggerogoti" semua RAM pada sistem Anda dan memaksa aplikasi lain untuk bertukar (atau gagal seluruhnya dengan kondisi kehabisan memori).
sumber