Mengapa aplikasi sangat lambat pada awalnya ketika beralih ke mereka, meskipun saya memiliki RAM gratis?

9

Pada PC Windows 7 (64-bit) saya, ketika saya memiliki beberapa program yang membutuhkan sumber daya, dan setengah lusin lainnya, ketika saya beralih ke aplikasi yang tidak saya gunakan untuk sementara waktu, butuh waktu lama untuk merespon dan saya dapat mendengar hard drive bekerja banyak. Saya menganggap itu mendapatkan data dari file halaman. Pada Windows Task Manager itu menunjukkan bahwa saya menggunakan sekitar 75% RAM fisik, dengan sisanya dibagi sekitar 50/50 antara di-cache dan gratis.

Meskipun RAM tersedia, apakah sudah memindahkan data dari RAM menjadi hanya pada disk? Bagaimana saya bisa membuat program lain lebih responsif? Akankah meningkatkan RAM saya dari 4GB ke 8GB mempercepat ini ketika beralih dari satu program ke program lainnya?

Curyous
sumber
Perhatikan Anda akan membutuhkan Windows 7 64-bit untuk menggunakan lebih dari 4GB. Menambahkan lebih banyak memori akan membantu banyak, dan kemudian mengatur Pagefile ke Min 200MB / Max 200MB.
Michael9000
Mungkin karena bagian "Saya punya beberapa program yang lapar akan sumber daya" , saya yakin.
surfasb

Jawaban:

7

Windows harus melakukan tradeoff antara throughput dan latensi.

Jika itu menyimpan aplikasi dalam RAM, bahkan ketika mereka tidak digunakan untuk waktu yang lama, throughput akan menderita. RAM fisik yang digunakan, tetapi menganggur akan mengurangi RAM yang tersedia untuk aplikasi lain dan sistem.

Windows membuat keputusan untuk mengeluarkan memori yang belum diakses dalam waktu lama. Ini memungkinkan lebih banyak RAM fisik untuk digunakan sebagai cache disk, dan secara signifikan meningkatkan throughput aplikasi.

Imbalannya adalah bahwa ketika aplikasi ini pada akhirnya perlu mengakses halaman memori yang belum diakses dalam beberapa saat, mereka mungkin bukan penduduk. Dalam hal ini, aplikasi harus menunggu sebentar karena mereka dibaca kembali ke dalam RAM.

Windows umumnya melakukan pekerjaan yang sangat baik untuk membuat pengorbanan ini, dan saya tidak akan merekomendasikan mencoba untuk menyetemnya terlalu banyak. Anda dapat membuat latensi lebih baik, tetapi akan ada penalti besar untuk throughput dan, lebih buruk lagi, Anda bisa masuk ke keadaan di mana beberapa hal tidak berfungsi. (Misalnya, jika Anda menonaktifkan file paging Anda, dua bulan dari sekarang Anda mungkin menemukan Anda sedang mengedit gambar besar atau sesuatu dan tidak dapat menyimpannya karena alokasi memori selalu gagal.)

Tentu saja, Anda selalu dapat menambahkan lebih banyak RAM. Murah bukan kepalang sekarang. Dan itu membuatnya lebih kecil kemungkinannya bahwa Windows harus melakukan pengorbanan di tempat pertama.

David Schwartz
sumber
1
Sejauh menonaktifkan file paging, mungkin sistem Anda bisa langsung crash.
surfasb
6

Windows akan mem-paged program-program dari memori dan ke disk. Saya tidak tahu algoritme yang digunakannya tetapi saya tidak akan terkejut jika melihat lamanya waktu aplikasi tersebut tidak digunakan.

Windows akan mencoba untuk memaksimalkan jumlah RAM fisik gratis seperti yang berguna, jadi meningkatkan memori Anda menjadi 8 atau bahkan 12GB akan meningkatkan daya tanggap sistem Anda - terutama jika Anda menjalankan beberapa aplikasi "sumber daya lapar".

ChrisF
sumber
3
Ini benar-benar terlihat pada berapa lama memori telah menganggur. Ketika Windows menginginkan lebih banyak RAM fisik gratis, hal pertama yang akan dibuang (atau dihilangkan) adalah halaman memori yang belum diakses dalam waktu yang sangat lama.
David Schwartz
0

Anda dapat memeriksa di Windows Task Manager program mana yang menggunakan banyak RAM.

Dari pengalaman pribadi, saya menemukan file swap tidak perlu pada PC dengan 4GB + RAM. Anda mungkin ingin menonaktifkan swapping sepenuhnya untuk melihat apakah itu penyebab masalahnya.

Juga, ada Layanan Windows yang saya sukai untuk dimatikan, karena mereka cenderung membuat banyak I / O disk yang tidak perlu: Superfetch, ReadyBoost, Pencarian Windows, Windows Defender, Volume Shadow Copy dan Distributed Link Tracking.

Mikhail Kupchik
sumber
2
Periksa situs luar biasa BlackViper untuk melihat layanan mana yang dapat Anda nonaktifkan dengan aman
Michael9000
1
Mematikan Superfetch bersama dengan file halaman adalah kesalahan besar. Ini sudah dibahas beberapa kali.
surfasb