導航:首頁 > 操作系統 > linux32內存佔用

linux32內存佔用

發布時間:2022-12-19 01:02:49

linux內存佔用率過高怎麼辦

1. 使用top 查看內存的佔用情況,然後鍵入"M"命令根據內存的佔用情況降序排列("P"是CPU佔用情況降序排列)
2.關閉掉不需要的進程,
3.再使用top查看內存佔用情況,發覺內存佔用率已經降下來了,但是free -h卻還有100G被佔用(內存總共128G),vmstat發現是cache 佔用了大量內存。
4. 使用 echo 1 > /proc/sys/vm/drop_caches 釋放緩存
常用的釋放緩存的命令如下
To free pagecache:僅清除頁面緩存(PageCache)
echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:清除目錄項和inode
echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:清除頁面緩存,目錄項和inode
echo 3 > /proc/sys/vm/drop_caches
5.再使用free -h 查看內存使用情況,發現內存使用情況已經正常了

㈡ linux佔用內存太高,有沒有好的解決辦法呀

且體的還得看伺服器的配置。
一般有如下幾種可能:
1) 有程序佔用大量CPU,使用top命令來檢查(看看是否有java程序鎖死之類的故障)
2) 有程序佔用大量內存,使得內存真正不夠用了(這個才是真正需要加內存的時候),比如由於MySQL在較大負載下運行容量為GB級別的資料庫導致內存不夠用,需要給伺服器插入更多物理內存
3) 磁碟系統讀寫故障,IO吞吐錯誤造成CPU負載上升,需要光碟引導進入單用戶模式掃描修復磁碟。

但也可以手動進行內存釋放,具體操作如下:
[root@dbserver01 mysql]# cat /proc/sys/vm/drop_caches0

首先,/proc/sys/vm/drop_caches的值,默認為0
[root@dbserver01 mysql]# sync

手動執行sync命令(描述:sync 命令運行 sync 子常式。如果必須停止系統,則運行 sync 命令以確保文件系統的完整性。sync 命令將所有未寫的系統緩沖區寫到磁碟中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射文件) 《Linux就該這么學》 一起學習。
[root@dbserver01 mysql]# echo 3 > /proc/sys/vm/drop_caches
[root@dbserver01 mysql]# cat /proc/sys/vm/drop_caches
3

將/proc/sys/vm/drop_caches值設為3 [root@dbserver01 mysql]# free -m

㈢ linux 32位系統支持多大內存

32位linux不打開PAE,則最多隻能識別出4GB內存,若打開PAE,則最多可以識別出64GB內存。但是 32位系統下的進程一次最多隻能定址4GB的空間。

64位linux則沒有32位系統的限制。因此對於內存大於4GB的機器來說,最好安裝64位系統。
簡單介紹下如何讓redhat 5-32位支持4G以上內存。
步驟1:
安裝kernel-PAE.i686 內核包,讓系統內核支持PAE物理地址擴展。
rpm-ivh kernel-PAE-2.6.18-53.el5.i686.rpm 安裝的時候會報如下警告。

將安裝命令由原本的rpm-ivh ****.rpm 改為rpm -ivh ****.rpm –force --nodeps就可以了,nodeps的意思是忽視依賴關系。因為各個軟體之間會有或多或少的存在關聯,有了這兩個設置選項就忽略了這些依賴關系,強制安裝。

㈣ linux 新系統一般 佔多大內存

你是指支持的內存上限么? 際上最大支持多大的內容跟操作系統的種類無關,而是跟操作系統是幾位的還有CPU是幾位的有關。
DOS是16位的,所以DOS支持的最大內存是64MB(2的16次方位元組等於64MB)。
32位的Linux和32位的Windows(XP、Vista...)支持的最大內存是4GB,2的32次方位元組=4GB。
64位的Linux和Windows支持的最大內存=16EB。

㈤ linux內核一般佔用多大內存

[root@scs-2 tmp]# free
total used free shared buffers cached
Mem: 3266180 3250004 16176 0 110652 2668236
-/+ buffers/cache: 471116 2795064
Swap: 2048276 80160 1968116
下面是對這些數值的解釋:
total:總計物理內存的大小。
used:已使用多大。
free:可用有多少。
Shared:多個進程共享的內存總額。
Buffers/cached:磁碟緩存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就不多解釋了。
區別:第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區別。 這兩個的區別在於使用的角度來看,第一行是從OS的角度來看,因為對於OS,buffers/cached 都是屬於被使用,所以他的可用內存是16176KB,已用內存是3250004KB,其中包括,內核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.
第三行所指的是從應用程序角度來看,對於應用程序來說,buffers/cached 是等於可用的,因為buffer/cached是為了提高文件讀取的性能,當應用程序需在用到內存的時候,buffer/cached會很快地被回收。
所以從應用程序的角度來說,可用內存=系統free memory+buffers+cached。
如上例:
2795064=16176+110652+2668236
接下來解釋什麼時候內存會被交換,以及按什麼方交換。 當可用內存少於額定值的時候,就會開會進行交換。
如何看額定值:
cat /proc/meminfo
[root@scs-2 tmp]# cat /proc/meminfo
MemTotal: 3266180 kB
MemFree: 17456 kB
Buffers: 111328 kB
Cached: 2664024 kB
SwapCached: 0 kB
Active: 467236 kB
Inactive: 2644928 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 3266180 kB
LowFree: 17456 kB
SwapTotal: 2048276 kB
SwapFree: 1968116 kB
Dirty: 8 kB
Writeback: 0 kB
Mapped: 345360 kB
Slab: 112344 kB
Committed_AS: 535292 kB
PageTables: 2340 kB
VmallocTotal: 536870911 kB
VmallocUsed: 272696 kB
VmallocChunk: 536598175 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB
用free -m查看的結果:
[root@scs-2 tmp]# free -m
total used free shared buffers cached
Mem: 3189 3173 16 0 107 2605
-/+ buffers/cache: 460 2729
Swap: 2000 78 1921
查看/proc/kcore文件的大小(內存鏡像):
[root@scs-2 tmp]# ll -h /proc/kcore
-r——– 1 root root 4.1G Jun 12 12:04 /proc/kcore
備註:
佔用內存的測量
測量一個進程佔用了多少內存,linux為我們提供了一個很方便的方法,/proc目錄為我們提供了所有的信息,實際上top等工具也通過這里來獲取相應的信息。
/proc/meminfo 機器的內存使用信息
/proc/pid/maps pid為進程號,顯示當前進程所佔用的虛擬地址。
/proc/pid/statm 進程所佔用的內存
[root@localhost ~]# cat /proc/self/statm
654 57 44 0 0 334 0
輸出解釋
CPU 以及CPU0。。。的每行的每個參數意思(以第一行為例)為:
參數 解釋 /proc//status
Size (pages) 任務虛擬地址空間的大小 VmSize/4
Resident(pages) 應用程序正在使用的物理內存的大小 VmRSS/4
Shared(pages) 共享頁數 0
Trs(pages) 程序所擁有的可執行虛擬內存的大小 VmExe/4
Lrs(pages) 被映像到任務的虛擬內存空間的庫的大小 VmLib/4
Drs(pages) 程序數據段和用戶態的棧的大小 (VmData+ VmStk )4
dt(pages) 04
查看機器可用內存
/proc/28248/>free
total used free shared buffers cached
Mem: 1023788 926400 97388 0 134668 503688
-/+ buffers/cache: 288044 735744
Swap: 1959920 89608 1870312
我們通過free命令查看機器空閑內存時,會發現free的值很小。這主要是因為,在linux中有這么一種思想,內存不用白不用,因此它盡可能的cache和buffer一些數據,以方便下次使用。但實際上這些內存也是可以立刻拿來使用的。
所以 空閑內存=free+buffers+cached=total-used

㈥ linux32位系統支持多大內存

32位系統最多隻能支持到4G的內存編址。系統自己佔用一部分後。你看到的可能就只剩下3G多了。

㈦ Linux系統為什麼特別占內存

Linux用這么多內存是為了提高系統性能和不浪費內存,Linux把多的內存做了cache,以提高io速度。

Linux操作系統是UNIX操作系統的一種克隆系統,它誕生於1991 年的10 月5 日(這是第一次正式向外公布的`時間)。以後藉助於Internet網路,並通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。

Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。

另外,Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。它主要用於基於Intel x86系列CPU的計算機上。這個系統是由全世界各地的成千上萬的程序員設計和實現的。其目的是建立不受任何商品化軟體的版權制約的、全世界都能自由使用的Unix兼容產品。

Linux以它的高效性和靈活性著稱,Linux模塊化的設計結構,使得它既能在價格昂貴的工作站上運行,也能夠在廉價的PC機上實現全部的Unix特性,具有多任務、多用戶的能力。Linux是在GNU公共許可許可權下免費獲得的,是一個符合POSIX標準的操作系統。

除此之外,Linux操作系統軟體包不僅包括完整的Linux操作系統,而且還包括了文本編輯器、高級語言編譯器等應用軟體。它還包括帶有多個窗口管理器的X-Windows圖形用戶界面,如同使用Windows NT一樣,允許用戶使用窗口、圖標和菜單對系統進行操作。

㈧ Linux內存佔用過高非也

先來在阿里的ECS上top一下感受內存爆滿的感覺,終端輸入 top

結合操作系統,計組等課程,以及多年以來windows培養給我的直覺,認為0.96G(1016272K)的總內存,使用了0.84G(880960K)的內存,使用率高達88%。然而我還啥都沒干,怎麼會這樣呢?

仔細查看還會發現後面有一個buffers,Swap後面還有一個Cached Mem。

現在我們用free來觀察下

雖然Mem顯示了0.9G左右的used,但是-/+buffers/cache(減去buffers和cache的結果)可以看到,當前進程實際佔用內存是0.24G(256348K),而可用空閑(free)內存為0.72G(759924K)。

可以這么理解:在linux的內存分配機制中,優先使用物理內存,當物理內存還有空閑時(還夠用),不會釋放其佔用內存,就算佔用內存的程序已經被關閉了,該程序所佔用的內存用來做緩存使用,對於開啟過的程序、或是讀取剛存取過得數據會比較快。

如上面的例子:共1G的內存,0.9G被佔用,但是buffer和cached

mem部分作為緩存,可以使用命中率的方式提高使用效率,而且這部分緩存是根據指令隨時可以釋放的,我們可以認為這部分內存沒有實際被使用,也可以認為它是空閑的。

因此查看目前進程正在實際被使用的內存,是used-(buffers+cache),也可以認為如果swap沒有大量使用,mem還是夠用的,只有mem被當前進程實際佔用完(沒有了buffers和cache),才會使用到swap的。

再舉個栗子: 這個是我在RPi一群看到的一個群友發的探針監測截圖

觀察內存使用狀況一欄,發現物理內存功925.89M,已用911.74M,Cache化的內存是676.46M,Buffers為61.3M,現在用上述公式:

帶入:

㈨ linux查看內存佔用

輸入:top

PID:進程的IDUSER:進程所有

PR:進程的優先順序別,越小越優先被執

NInice:

VIRT:進程佔用的虛擬內

RES:進程佔用的物理內

SHR:進程使用的共享內

S:進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態,N表示 該進程優先值為負

%CPU:進程佔用CPU的使用

%MEM:進程使用的物理內存和總內存的百分

TIME+:該進程啟動後佔用的總的CPU時間,即佔用CPU使用時間的累加 值

COMMAND:進程啟動命令名稱

閱讀全文

與linux32內存佔用相關的資料

熱點內容
蘋果如何創建伺服器錯誤 瀏覽:492
軟考初級程序員大題分值 瀏覽:473
js壓縮視頻文件 瀏覽:578
linux如何通過命令創建文件 瀏覽:989
應用加密app還能訪問應用嘛 瀏覽:432
安卓怎麼用支付寶交違章罰款 瀏覽:665
php面向對象的程序設計 瀏覽:504
數據挖掘演算法書籍推薦 瀏覽:894
投訴聯通用什麼app 瀏覽:150
web伺服器變更ip地址 瀏覽:954
java正則表達式驗證郵箱 瀏覽:360
成熟商務男裝下載什麼軟體app 瀏覽:609
加密2h代表長度是多少厘米 瀏覽:23
拍賣程序員 瀏覽:101
電腦的圖片放在哪個文件夾 瀏覽:274
unsignedintjava 瀏覽:216
編譯器下載地址 瀏覽:42
什麼是面對對象編程 瀏覽:708
b站伺服器什麼時候恢復 瀏覽:721
6p相當於安卓機什麼水準 瀏覽:499