Czasami wiesz lepiej niż Windows, które pliki zostaną ponownie wykorzystane później. Załóżmy, że masz 8 GB pamięci i używasz tego samego 1 GB pliku co godzinę w aplikacji związanej z We / Wy (co zajmuje 1 sekundę, jeśli plik jest buforowany, i 1 minutę, jeśli nie). Teraz przetwarzasz jakieś 16 GB danych, które nie zostaną ponownie wykorzystane. Oczywiście często używany plik 1 GB zostanie wypchnięty z pamięci podręcznej. Byłoby dobrze, gdyby ktoś mógł powiedzieć systemowi Windows, aby zachował ten 1 GB pliku w pamięci. (Jeszcze lepiej, byłoby wspaniale, gdyby ktoś mógł powiedzieć systemowi Windows, aby nie buforował tych 16 GB danych, ale nie jestem optymistą, aby to zrobić.)
Gorzej jest z plikami w udziałach sieciowych: Windows usuwa pliki z pamięci podręcznej, nawet jeśli jest wolna pamięć. Jeśli natychmiast ponownie użyjesz pliku, nadal będzie on w pamięci podręcznej; ale jeśli zamkniesz plik i zaczekasz 30 sekund, pamięć podręczna zniknie, a system będzie musiał ponownie pobrać plik ze zdalnego serwera. Dla mnie jest to bardzo zauważalne, ponieważ korzystam z łącza sieciowego 3 Mb / s i pracuję z plikami o wielkości około 10 MB.
Sposób, w jaki biedak przechowuje plik w pamięci podręcznej, polega na ciągłym odczytywaniu pliku. Czy są jakieś lepsze sposoby? Czy znasz jakieś programy, które to robią?
(Jeśli można to łatwo zrobić w systemie Linux, daj mi również znać.)
źródło
Jest to możliwe w przypadku niektórych typów, na przykład dll:
System Windows buforuje zestaw bibliotek DLL, które są często używane, są to „znane biblioteki DLL”. Aby zachować plik dll w pamięci podręcznej, po prostu musi być częścią tego zestawu.
źródło