當前位置:首頁 » 操作系統 » linux內存文件

linux內存文件

發布時間: 2023-09-15 09:45:13

linux下清理內存以及swap

第一步:先執行宴鄭行sync命令

#sync

sync命令用於強制被改變的內容立刻寫入磁碟,更新超塊信息,以防止釋放,sync命令則可用來強制將內存緩沖區中的數據立即寫入磁碟中。

第二步:清理linux內存緩存

#echo 3 > /proc/sys/vm/drop_caches

一般系統是不會自動釋放內存的

關鍵的配置文件/proc/sys/vm/drop_caches。這個文件中記錄了緩存釋放的參數,默認值為0,也就是不釋放緩存。他的值可以為0~3之間的任意數字,晌嘩代表著不同的含義:

0 – 不釋放

1 – 釋放頁緩存

2 – 釋放dentries和inodes

3 – 釋放所有緩叢改存

此指令輸入立即生效,意在釋放所有緩存。

第三步:關閉swap,再開啟swap

(如果只是清理swap,第二部可以不用進行操作,因為操作了第二步關閉swap時會使用更長的時間)

#swapoff -a  這一步因為是後台 在一點一點的釋放,如果配置的swap超大,這里就等待得超久一些

#swapon -a  再開啟

linux什麼時候開始使用虛擬內存(swap)

A.[root@wenwen ~]# cat /proc/sys/vm/swappiness

60

上面這個60代表物理內存在使用60%的時候才會使用swap

swappiness=0的時候表示最大限度使用物理內存,然後才是 swap空間,

swappiness=100的時候表示積極的使用swap分區,並且把內存上的數據及時的搬運到swap空間裡面。

通常情況下:

swap分區設置建議是內存的兩倍 (內存小於等於4G時),如果內存大於4G,swap只要比內存大就行。另外盡量的將swappiness調低,這樣系統的性能會更好。

B.修改swappiness參數

臨時性修改:

[root@wenwen ~]# sysctl vm.swappiness=10

vm.swappiness = 10

[root@wenwen ~]# cat /proc/sys/vm/swappiness               

10

永久性修改:

[root@wenwen ~]# vim /etc/sysctl.conf

加入參數:

vm.swappiness = 35

然後在直接:

[root@wenwen ~]# sysctl -p

查看是否生效:

cat /proc/sys/vm/swappiness

35

❷ linux查看內存使用情況

linux查看內存使用情況的方法是,1,proc。meminfo,查看 RAM 使用情況最簡單的方法是通過 ,procmeminfo。這個動態更新的虛擬文件實際上是許多其他內存相關工具 free ,ps ,top的組合顯示。

2,atop。atop 命令是一個終端環境的監控命令。它顯示的是各種系統資源,CPU, memory, network, IOkernel的綜合,並且在高負載的情況下進行了彩色標注。

3,free。free 命令是一個快速查看內存使用情況的方法,它是對 ,proc,meminfo 收集到的信息的一個概述。

4,GNOME System Monitor。GNOME System Monitor 是一個顯示最近一段時間內的 CPU內存交換區及網路的使用情況的視圖工具。它還提供了一種查看 CPU 及內存使用情況的方法。

5,htop。htop 命令顯示了每個進程的內存實時使用率。它提供了所有進程的常駐內存大小,程序總內存大小,共享庫大小等的報告,列表可以水平及垂直滾動。6,KDE System Monitor功能同 4 中介紹的 GENOME 版本。

❸ linux tmp目錄與內存解析

使用free可以獲取到設備當前的內存

其中,各項表示的含義如下所示:
total: 總計物理內存大小。
used: 已使用內存大小。
free: 可使用內存大小。
shared: 多個進程共享的內存總額。
buffers/cached: 磁碟緩存大小。
單位都為KB。

對於系統而言,buffers和cached都是被使用的,所以可用內存為1037880KB。
對於應用程序而言,buffers和cached是可用的。當應用程序需要內存的時候,buffers和cached會被回收。從應用程序的角度而言,可用內存=free memory+buffers+cached。按上面的例子,即可用內存為1037880+18864+123656=1180400。
使用cat /proc/meminfo可以查看更詳細的內存信息。

/proc/iomem:查看物理設備在物理內存中的映射關系
/proc/slabinfo:內核對象的當前使用狀態
/proc/vmstat:虛擬內存統計信息。可以使用vmstat - Report virtual memory statistics 列印虛擬內存狀態。

如上所示,/tmp為內存文件系統,內存掛載為內存文件系統(tmpfs)。使用的物理空間不是磁碟,而是內存條。設備重啟後,/tmp下文件全清空。
tmpfs文件系統產生原因是為了提高性能。程序運行時候產生的臨時文件放在磁碟會影響性能,於是tmpfs作為虛擬內存子系統來儲存文件。POSIX共享內存也是基於tmpfs來實現的。
tmpfs的最大空間由RM(Real Memory,即物理內存)和swap(硬碟虛擬的內存空間)組成。

查看掛載信息,可知 tmpfs 文件系統的掛載點有兩個,一個/dev/shm,另一個為/tmp。默認情況下, /tmp 將最多使用一半內存。

如果往/tmp文件夾加入大量文件,也會造成系統內存不足。

使用ps可以查看進程的狀態

其中與內存相關項含義如下所示:
VSZ:虛擬內存大小。virtual memory size of the process in KiB (1024-byte units). Device mappings are currently excluded; this is subject to change. (alias vsize).
RSS:實際使用物理內存。resident set size, the non-swapped physical memory that a task has used (in kiloBytes). (alias rssize, rsz).
虛擬內存是對進程而言使用的內存,會比較大,可以理解為一個內存布局,建立虛擬內存和磁碟文件的映射關系。在進程調用的時候,查找虛擬內存,將虛擬內存對應磁碟文件拷貝到物理內存,進行調度定址等操作。
進程使用的物理內存為RSS表示的物理內存大小,其中包括鏈接的動態庫使用的內存,不只是單獨進程使用的物理內存大小。

也可以通過/proc/下去查找對應進程id的相關內存信息。
/proc/pid/maps pid為進程號,顯示當前進程所佔用的虛擬地址。
/proc/pid/statm 進程所佔用的內存。

❹ Linux內存文件系統tmpfs(/dev/shm)詳細介紹

一、/dev/shm理論
默認的Linux發行版中的內核配置都會開啟tmpfs,映射到了/dev/下的shm目錄。可以通過df
命令查看結果.
/dev/shm/是linux下一個非常有用的目錄,因為這個目錄不在硬碟上,而是在內存里。因此在linux下,就不需要大費周折去建ramdisk,直接使用/dev/shm/就可達到很好的優化效果。默認系統就會載入/dev/shm
,它就是所謂的tmpfs,有人說跟ramdisk(虛擬磁碟),但不一樣。象虛擬磁碟一樣,tmpfs
可以使用您的
RAM,但它也可以使用您的交換分區來存儲。而且傳統的虛擬磁碟是個塊設備,並需要一個
mkfs
之類的命令才能真正地使用它,tmpfs
是一個文件系統,而不是塊設備;您只是安裝它,它就可以使用了。
tmpfs有以下優勢:
1。動態文件系統的大小,/dev
/shm/需要注意的一個是容量問題,在linux下,它默認最大為內存的一半大小,使用df
-h命令可以看到。但它並不會真正的佔用這塊內存,如果/dev/shm/下沒有任何文件,它佔用的內存實際上就是0位元組;如果它最大為1G,里頭放有
100M文件,那剩餘的900M仍然可為其它應用程序所使用,但它所佔用的100M內存,是絕不會被系統回收重新劃分的
2。tmpfs
的另一個主要的好處是它閃電般的速度。因為典型的
tmpfs
文件系統會完全駐留在
RAM
中,讀寫幾乎可以是瞬間的。
3。tmpfs
數據在重新啟動之後不會保留,因為虛擬內存本質上就是易失的。所以有必要做一些腳本做諸如載入,綁定的操作。
二、修改/dev/shm大小
默認的最大一半內存大小在某些場合可能不夠用,並且默認的inode數量很低一般都要調高些,這時可以用mount命令來管理它。
#mount
-o
size=1500M
-o
nr_inodes=1000000
-o
noatime,nodiratime
-o
remount
/dev/shm
在2G的機器上,將最大容量調到1.5G,並且inode數量調到1000000,這意味著大致可存入最多一百萬個小文件。
如果需要永久修改/dev/shm的值,需要修改/etc/fstab
代碼如下:
tmpfs
/dev/shm
tmpfs
defaults,size=1.5G
0
0
mount
-o
remount
/dev/shm
三、/dev/shm應用
首先在/dev/shm建個tmp文件夾,然後與實際/tmp綁定
代碼如下:
#mkdir
/dev/shm/tmp
#chmod
1777
/dev/shm/tmp
#mount
–bind
/dev/shm/tmp
/tmp(–bind
)
在使用mount
–bind
olderdir
newerdir命令來掛載一個目錄到另一個目錄後,newerdir的許可權和所有者等所有信息會發生變化。掛載後的目錄繼承了被掛載目錄的所有屬性,除了名稱。

熱點內容
ftpup上傳三個文件 發布:2025-01-25 01:38:15 瀏覽:762
錄音加密忘記 發布:2025-01-25 01:37:29 瀏覽:501
閑魚賣腳本 發布:2025-01-25 01:37:24 瀏覽:157
密碼匯款在什麼區域了兌付 發布:2025-01-25 01:36:49 瀏覽:146
wamp資料庫 發布:2025-01-25 01:36:02 瀏覽:794
安卓通知欄怎麼顯示秒錶 發布:2025-01-25 01:32:47 瀏覽:757
apk反編譯入門 發布:2025-01-25 01:26:43 瀏覽:472
英雄聯盟在哪投訴腳本 發布:2025-01-25 01:26:43 瀏覽:314
php在線統計 發布:2025-01-25 01:26:42 瀏覽:65
手機加密室 發布:2025-01-25 01:25:57 瀏覽:219