溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux怎么手動釋放內存

發布時間:2021-08-19 18:16:50 來源:億速云 閱讀:131 作者:chen 欄目:建站服務器

本篇內容介紹了“Linux怎么手動釋放內存”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

我們在進程中要怎樣去描述一個文件呢?我們用目錄項(dentry)和索引節點(inode)。它們的定義如下:

所謂"文件", 就是按一定的形式存儲在介質上的信息,所以一個文件其實包含了兩方面的信息,一是存儲的數據本身,二是有關該文件的組織和管理的信息。在內存中, 每個文件都有一個dentry(目錄項)和inode(索引節點)結構。

dentry記錄著文件名,上級目錄等信息,正是它形成了我們所看到的樹狀結構;而有關該文件的組織和管理的信息主要存放inode里面,它記錄著文件在存儲介質上的位置與分布。同時dentry->d_inode指向相應的inode結構。dentry與inode是多對一的關系,因為有可能一個文件有好幾個文件名(硬鏈接, hard link)

inode代表的是物理意義上的文件,通過inode可以得到一個數組,這個數組記錄了文件內容的位置,如該文件位于硬盤的第3,8,10塊,那么這個數組的內容就是3,8,10。其索引節點號inode->i_ino,在同一個文件系統中是唯一的,內核只要根據i_ino,就可以計算出它對應的inode在介質上的位置。就硬盤來說,根據i_ino就可以計算出它對應的inode屬于哪個塊(block),從而找到相應的inode結構。但僅僅用inode還是無法描述出所有的文件系統,對于某一種特定的文件系統而言,比如ext3,在內存中用ext3_inode_info描述。他是一個包含inode的"容器"。

幾種drop_caches的模式:

To free pagecache:
* echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
* echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
* echo 3 > /proc/sys/vm/drop_caches
As this is a non-destructive operation, and dirty objects are notfreeable, the user should run "sync" first in order to make sure allcached objects are freed.
This tunable was added in 2.6.16.

注意:禁止生產上使用 2 、3 模式

手動清理cache(防止使用swap):
[root@testserver ~]# free -m
[root@testserver ~]# sync #強制將改變的內容立刻寫入磁盤,更新超塊信息
[root@testserver ~]# cat /proc/sys/vm/drop_caches
0
[root@testserver ~]# echo 1 > /proc/sys/vm/drop_caches
[root@testserver ~]# free -m

補充:大頁內存可以避免使用swap

“Linux怎么手動釋放內存”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女