記憶體**,也就是系統釋放掉可以**的記憶體,比如快取和緩衝區,就屬於可**記憶體。它們在記憶體管理中,通常被叫做檔案頁(file-backed page)。大部分檔案頁,都可以直接**,以後有需要時,再從磁碟重新讀取就可以了。
那些被應用程式修改過,並且暫時還沒寫入磁碟的資料(也就是髒頁),就得先寫入磁碟,然後才能進行記憶體釋放。
這些髒頁,一般可以通過兩種方式寫入磁碟。可以在應用程式中,通過系統呼叫 fsync ,把髒頁同步到磁碟中;也可以交給系統,由核心執行緒 pdflush 負責這些髒頁的重新整理。
除了快取和緩衝區,通過記憶體對映獲取的檔案對映頁,也是一種常見的檔案頁。它也可以被釋放掉,下次再訪問的時候,從檔案重新讀取。
應用程式動態分配的堆記憶體,也就是在記憶體管理中說到的匿名頁(anonymous page),它們很可能還要再次被訪問啊,不能直接**,這些記憶體自然不能直接釋放。但是,如果這些內存在分配後很少被訪問,似乎也是一種資源浪費。
linux的 swap 機制把這些不常訪問的記憶體先寫到磁碟中,然後釋放這些記憶體,給其他更需要的程序使用。再次訪問這些記憶體時,重新從磁碟讀入記憶體就可以了。
javascript符號的各種意義
電腦的符號一共有32個,在程式設計時,在不同的場合,會有不同的意義。下面我大概說一下這些符號的作用。20 rel noopener noreferrer 就是這32個半形符號 全形符號會寬一些,那些是中文的符號,不能在程式設計裡用 這些符號是在鍵盤從左至右分布。反引號 程式設計時無特殊意義 波浪號 ...
ping的各種意義 作用
1 ping 127.0.0.1,127.0.0.1是本地迴圈位址,如果本位址無法ping通,則表明本地機tcp ip協議不能正常工作。驗證協議是否正常 2 ping本機的ip位址,用ipconfig檢視本機ip,然後ping該ip,通則表明網路介面卡 網絡卡或modem 工作正常,不通則是網路介面...
svn 各種標識意義
黃色感嘆號 有衝突 這是有衝突了,衝突就是說你對某個檔案進行了修改,別人也對這個檔案進行了修改,別人搶在你提交之前先提交了,這時你再提交就會被提示發生衝突,而不允許你提交,防止你的提交覆蓋了別人的修改。要解決衝突,如果你確認你的修改是無效的,則用tsvn還原你的修改就行了 如果認為你的修改是正確的,...