Konsumsi memori virtual Linux setelah parsing file log

0

Saya menulis parser untuk membaca auth.log. Untuk beberapa alasan saat menguraikan auth.log Saya mengerti VSZ lebih besar dari total memori fisik, yaitu 2GB. Bergantung pada ukuran auth.log dan berapa lama pembaca telah berjalan, VSZ akan meningkat (terkadang hingga ~ 8GB).

Seberapa normal itu? Apa yang bisa menjadi alasan konsumsi memori ini?

# ps aux
USER   PID  CPU %MEM     VSZ   RSS   TTY STAT START  TIME  COMMAND
root 17547  0.7  1.4 3123744 30820 pts/2  Sl+ Jul30 11:42 ./reader auth.log

# free
             total       used       free     shared    buffers     cached
Mem:       2063568    1842232     221336          0     179084    1057680
-/+ buffers/cache:     605468    1458100
Swap:      4032504        288    4032216
Mike Darrow
sumber
Tanpa melihat skrip, alasan yang paling mungkin adalah Anda membaca seluruh log ke dalam memori, atau Anda memiliki kebocoran memori karena tidak mengeluarkan sumber daya. Apakah Anda ingin menambahkan skrip ke pos?
Paul
@ Paul: Apakah itu benar, mengapa ukuran residennya begitu rendah?
David Schwartz
@ Paul: Terima kasih. Ya, saya membaca hampir seluruh log ke memori. Saya tidak dapat memposting karena pekerjaan saya.
Mike Darrow

Jawaban:

1

Itu normal. Memori virtual sangat murah, efektif gratis, sehingga tidak ada gunanya mencoba mengurangi konsumsi Anda.

David Schwartz
sumber
Terima kasih. Mungkinkah ini mesin crash berpotensi jika sampai besar untuk satu proses?
Mike Darrow
@MikeDarrow: Tidak. Memori virtual hanyalah ruang alamat.
David Schwartz