91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux釋放內存的方法

h1654155282.3538 ? 來源:運維小筆記 ? 作者:運維小筆記 ? 2021-02-21 10:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一般系統(tǒng)是不會自動釋放內存的 關鍵的配置文件/proc/sys/vm/drop_caches。這個文件中記錄了緩存釋放的參數(shù),默認值為0,也就是不釋放緩存。它的值可以為0~3之間的任意數(shù)字,代表著不同的含義:

0:0是系統(tǒng)默認值,默認情況下表示不釋放內存,由操作系統(tǒng)自動管理

1:釋放頁緩存

2:釋放dentries和inodes

3:釋放所有緩存

實操:

所以根據(jù)上面的說明,分別將1,2,3這3個數(shù)字重定向到drop_caches中可以實現(xiàn)內存的釋放,一般釋放內存都是重定向3到文件中,釋放所有的緩存

那么下面舉個例子,比如這里只釋放頁緩存,首先使用 free -h 查看當前內存剩余

當前內存剩余570M左右,另外buff/cache是1.3G,根據(jù)上面說的現(xiàn)在真正的剩余內存應該是1.8G左右,首先寫緩存到文件系統(tǒng):

sync

然后執(zhí)行下面命令釋放內存(頁緩存buff/cache):

echo 1 》 /proc/sys/vm/drop_caches

執(zhí)行完之后,再次查看內存剩余:

會發(fā)現(xiàn)內存被釋放了,可用內存確實變?yōu)?.8G左右

到這里內存就釋放完了,現(xiàn)在drop_caches中的值為1,如果現(xiàn)在想讓操作系統(tǒng)重新分配內存,那么設置drop_caches的值為0即可:

echo 0 》 /proc/sys/vm/drop_caches

另外需要注意的是,在生產環(huán)境中的服務器我們不要頻繁的去釋放內存,只在必要時候清理內存即可,更重要的是我們應該從應用程序層面去優(yōu)化內存的利用和釋放,經常清理內存可能只是暫時屏蔽的應用程序中的一些bug,所以更重要的是程序的調優(yōu),其他的交給操作系統(tǒng)來管理
責任編輯人:CC

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    88

    文章

    11758

    瀏覽量

    219009
  • 內存
    +關注

    關注

    9

    文章

    3209

    瀏覽量

    76358
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Linux內核伙伴系統(tǒng)內存申請函數(shù)詳解:從原理到實戰(zhàn)

    Linux 內核中,內存管理是整個系統(tǒng)穩(wěn)定運行的基石,而伙伴系統(tǒng)(Buddy System) 作為內核物理內存分配的核心機制,更是驅動開發(fā)、內核模塊開發(fā)的必備知識點。它通過 "2 的冪
    的頭像 發(fā)表于 02-10 16:58 ?3630次閱讀
    <b class='flag-5'>Linux</b>內核伙伴系統(tǒng)<b class='flag-5'>內存</b>申請函數(shù)詳解:從原理到實戰(zhàn)

    Linux下擴充Swap交換空間:解決內存不足的實用指南,這些影響要注意!

    大家在使用 Linux 系統(tǒng)(比如常用的 Ubuntu)時,是不是偶爾會遇到 “內存不足” 的彈窗?比如運行大型編譯任務、多開虛擬機、做數(shù)據(jù)分析,或者把 Linux 當服務器用的時候,物理內存
    的頭像 發(fā)表于 02-09 16:33 ?187次閱讀
    <b class='flag-5'>Linux</b>下擴充Swap交換空間:解決<b class='flag-5'>內存</b>不足的實用指南,這些影響要注意!

    Linux如何防止內存沖突?

    在聊這個話題之前,我們先回憶一下單片機系統(tǒng)中是如何分配內存的?如果沒有bootloader,那硬件環(huán)境起來之后就直接進入主程序運行,如果有引導程序bootloader,那就需要設置好跳轉地址,否則設置不對,系統(tǒng)就無法啟動了。
    的頭像 發(fā)表于 01-30 16:51 ?1355次閱讀
    <b class='flag-5'>Linux</b>如何防止<b class='flag-5'>內存</b>沖突?

    keil中c語言的動態(tài)分配內存

    開辟,所以只用進行一次內存釋放;而第二種方法進行了兩次動態(tài)內存開辟,并且其中一次是對結構體內部成員進行的,如果我們的代碼是在一個給別人用的函數(shù)中,你在里面做了二次
    發(fā)表于 01-21 06:04

    【「Linux 設備驅動開發(fā)(第 2 版)」閱讀體驗】+讀深入理解Linux內核內存分配

    最近這段時間內存條、硬盤的價格飛漲,隨著AI產品的興起,大數(shù)據(jù)模型的應用,對硬件存儲要求的更高。這節(jié)閱讀有關Linux內存管理方面的知識。 Linux系統(tǒng)使用了“虛擬
    發(fā)表于 01-16 20:05

    rk基于linux/android內存管理

    一、內存分布 ? U-Boot 由前級 Loader 加載到 CONFIG_SYS_TEXT_BASE 地址,初始化時會探明當前系統(tǒng)的總內存容 量, 32 位平臺上認為最大 4GB 可用(但是不影響
    的頭像 發(fā)表于 12-15 10:42 ?208次閱讀
    rk基于<b class='flag-5'>linux</b>/android<b class='flag-5'>內存</b>管理

    Linux Swap交換空間詳解:Android編譯內存不足?這樣擴充立竿見影

    ? ? 在 ?Linux? 系統(tǒng)使用過程中,你是否遇到過? “ 內存不足 ”? 的報錯?比如編譯? Android? 源碼時,明明按教程操作,卻因物理內存沒達到? 16G? 要求而編譯中斷?這正是
    的頭像 發(fā)表于 12-06 08:10 ?4245次閱讀

    RTThread線程退出后rt_malloc動態(tài)創(chuàng)建的資源沒有釋放怎么解決?

    測試過程中,在一個線程中用rt_malloc動態(tài)創(chuàng)建4KB的資源,在線程運行過程中用rt_thread_delete()使線程退出,用memtrace查看內存分配情況,動態(tài)創(chuàng)建的4KB的資源仍然存在
    發(fā)表于 10-13 07:06

    使用w5500通信使用wiz包的時候,突然拔掉網線,如何釋放網絡資源?

    也就越多。也就是在拔掉網線之后調用closesocket并沒有釋放網絡資源。這個時候再次接入網線,就無法繼續(xù)通信了。需要重啟w5500。但是重啟w5500也無法解決內存泄漏的問題。 有沒有人知道如何解決這個問題? 這個是我調用wiz_reset之后測試的效果
    發(fā)表于 10-11 09:01

    在使用rt_free釋放內存時觸發(fā)了斷言,怎么解決?

    的, 就是代碼從循環(huán)改成回調, 釋放就斷言了 內存使用沒有問題, 里面的內容都好好的, 只有釋放錯誤 這是斷言內容, 這是什么意思
    發(fā)表于 09-29 07:02

    接收Ymedom文件后釋放內存報錯,重啟怎么解決?

    測試OTA功能正常了,使用sy發(fā)送文件也是正常,使用ry接收數(shù)據(jù)后提示釋放內存出錯系統(tǒng)重啟了。這里困擾住了,文件已經正常存放在根文件系統(tǒng)下
    發(fā)表于 09-28 09:07

    使用lv_label_set_text釋放內存沒對齊是什么原因導致的?

    (guider_ui.monitor_label_pressure_now, "1"); rt_mutex_release(lv_mutex); // 釋放互斥鎖 使用lv_label_set_text導致釋放
    發(fā)表于 09-16 06:44

    Linux系統(tǒng)環(huán)境監(jiān)測終極指南

    Linux系統(tǒng)環(huán)境主要監(jiān)測CPU、內存、磁盤I/O和網絡流量。
    的頭像 發(fā)表于 06-25 14:41 ?802次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)環(huán)境監(jiān)測終極指南

    SE5 ffmpeg例程內存釋放的原因?

    行改造循環(huán)拉流。 問題: 測試發(fā)現(xiàn),在循環(huán)開始前先從文件讀取約29M文件后(大于34M后釋放一部分),循環(huán)(拉取一段時間后,停止,再拉?。├∫曨l流時,會出現(xiàn)內存上升問題。 測試場景:解碼6路
    發(fā)表于 04-22 11:04

    使用rt_free釋放內存時觸發(fā)了斷言怎么解決?

    代碼從循環(huán)改成回調, 釋放就斷言了 內存使用沒有問題, 里面的內容都好好的, 只有釋放錯誤 這是斷言內容, 這是什么意思
    發(fā)表于 03-20 07:21