欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux下如何查看內存泄露的命令

 更新時間:2023年09月04日 08:43:58   作者:凌肖戰(zhàn)  
這篇文章主要介紹了Linux下如何查看內存泄露的命令方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Linux下確定內存泄露

在做嵌入式開發(fā)中,例如,在 Linux 下做 C/C++ 開發(fā),會因為調用 malloc/calloc() 函數,忘記釋放堆內存。程序運行久了,會發(fā)生內存泄露問題。

Linux 環(huán)境的 C/C++ 開發(fā)中,但是,當每次只是發(fā)生幾個字節(jié)的內存泄露時,可以寫一段測試內存泄露的代碼來確認。

而當代碼中發(fā)生可見的大量的內存泄露問題時,可以使用 shell 命令來確認。

這里介紹 發(fā)生大量的內存泄露時,使用 shell 命令確認是否存在內存泄露的方法。

常用的命令包括如下 shell 命令:

  • ps 命令
  • top 命令
  • free 命令
  • cat /proc/meminfo 或 cat /proc/$pid/status 命令

1.ps 命令

ps 命令用來列出系統(tǒng)中當前正在運行的那些進程,列出的是當前那些進程的快照,就是執(zhí)行 ps 命令的那個時刻的那些進程。

確定有哪些進程正在運行和運行的狀態(tài)、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等。

ps 命令為我們提供了進程的一次性的查看,它所提供的查看結果并不動態(tài)連續(xù)的;如果想對進程實時監(jiān)控,應該用 top 命令。

常用的命令如:

ps -ef | grep 進程關鍵字????? //查看指定進程的信息
ps -aux? ? ?? // 列出當前內存中的所有進程
ps aux --sort=%mem(或者 ps aux --sort %mem) //按照內存占用率的升序排序
ps aux --sort=-%mem? (或者 ps aux --sort -%mem) //按照內存占用率降序排序
ps aux | grep -e test?????? //打印含義test關鍵字的進程
ps -aux | grep -E "test|PID"????? //打印 包含test關鍵字的進程信息

其中,ps -aux 是以 BSD 方式顯示。ps -ef 是以 System V 方式顯示,該種方式比 BSD 方式顯示的多。

如下所示,使用  ps -aux | grep -E "gome|PID"  命令,可以顯示包含 gome 關鍵字的進程信息,其中包括 CPU 占用,內存占用等。

2.top 命令

top 命令是 Linux 下常用的性能分析工具,能夠實時顯示系統(tǒng)中各個進程的資源占用狀況,類似于Windows 的任務管理器。

通常用來觀察 CPU 或 內存的占用情況。

top 命令使用如下:

top -d -3???? //3s 顯示一次
top -p 1921 //顯示進程號為 1921 的進程的信息

如下操作,輸入 top -d 3 -p 1921 命令,表示 3 s 顯示一次進程號為 1921的進程的信息。

3.free 命令

free 命令可以顯示當前系統(tǒng)內存使用情況,主要用于確定設備是否存在內存泄漏。

free 命令中的信息都來自于 /proc/meminfo 文件。

默認情況下,即在沒有選項的情況下,free 命令顯示內存的使用信息。默認按照 k(b) 的計數單位統(tǒng)計。

free 命令使用如下:

  • free -s 3:表示每隔 3 秒打印一次內存信息

如下操作,輸入  free -s 3 -h 命令,表示 3 s 顯示一次內存使用情況:

我們可以通過在設備啟動和運行一段時間后,使用 free 命令查看 已使用內存(used) 的大小并進行對比,如果運行一段時間后 used內存 有很明顯的增大,那很有可能是存在內存泄漏。

4.cat /proc/meminfo 或 cat /proc/$pid/status 命令

  • cat /proc/meminfo 命令用來查看 Linux 系統(tǒng)的內存使用情況。
  • cat /proc/$pid/status 命令,用來查看某個進程的內存使用信息。

查看 RAM 使用情況最簡單的方法是通過 /proc/meminfo。

這個動態(tài)更新的虛擬文件實際上是許多其他內存相關工具 (如 free / ps / top 命令) 等的組合顯示。

注意:這個文件顯示的單位是 kB 而不是 KB,1kB = 1000B,但是實際上應該是KB,1KB=1024B。

這個顯示是不精確的,是一個已知的沒有被更正的歷史遺留問題。

因為很多程序依賴這個文件查看內存使用的是kB字符

如下所示:

如上所示,其中解釋一下重要字段。

如下:

  • MemTotal:應用可以使用的內存總數
  • MemFree:當前空閑的內存數目    
  • MemAvailable:可用內存(MemFree + 可回收的內存),系統(tǒng)中有些內存雖然已被使用,但是可以回收,如cache、buffer、slab都有一部分可以回收。
  • Buffers:用來給文件做緩存大小     

其他的參數暫不做解釋。

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 在AWS的Linux服務器部署Flask預演(詳細步驟)

    在AWS的Linux服務器部署Flask預演(詳細步驟)

    這篇文章主要介紹了在AWS的Linux服務器部署Flask預演,部署Flask應用程序到AWS Linux服務器,你可以選擇多種方式,本文分步驟給大家介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • Linux系統(tǒng)中安裝Git全過程

    Linux系統(tǒng)中安裝Git全過程

    文章介紹了在Linux系統(tǒng)中安裝Git的兩種方法:使用包管理器安裝和從源代碼編譯安裝,包管理器安裝簡單快捷,但可能無法安裝特定版本的Git;從源代碼編譯安裝可以安裝特定版本并進行自定義配置,但需要手動編譯,兩種方法各有優(yōu)缺點,具體選擇取決于用戶需求
    2025-03-03
  • Linux下監(jiān)視NVIDIA的GPU使用情況詳解

    Linux下監(jiān)視NVIDIA的GPU使用情況詳解

    這篇文章主要介紹了Linux下監(jiān)視NVIDIA的GPU使用情況詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • 如何在Linux中自定義bash命令提示符

    如何在Linux中自定義bash命令提示符

    這篇文章主要給大家介紹了關于如何在Linux中自定義bash命令提示符的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-11-11
  • 詳解centos下搭建redis集群

    詳解centos下搭建redis集群

    這篇文章主要介紹了詳解centos下搭建redis集群,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • linux系統(tǒng)終端修改字體的方法

    linux系統(tǒng)終端修改字體的方法

    我們以debian為例,介紹兩種linux修改終端字體的設置方法,大家參考使用吧
    2014-01-01
  • Linux創(chuàng)建進程達到65535的方法

    Linux創(chuàng)建進程達到65535的方法

    這篇文章主要介紹了Linux創(chuàng)建進程達到65535的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • 解決atd服務報錯Failed with result‘exit-code‘問題

    解決atd服務報錯Failed with result‘exit-code‘問題

    在isoftserveros-v5.1-oe1-aarch64系統(tǒng)中,安裝at軟件包后,由于手動執(zhí)行導致atd守護進程出錯,通過查看后臺Process行,手動kill原atd進程,使用systemctl重啟atd服務后,問題得以解決,此經驗可為類似情況提供參考
    2024-09-09
  • Centos7下編譯安裝配置Nginx+PHP+MySql環(huán)境

    Centos7下編譯安裝配置Nginx+PHP+MySql環(huán)境

    這篇文章主要介紹了Centos7下編譯安裝配置Nginx+PHP+MySql環(huán)境,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Linux如何實現(xiàn)給/根目錄擴容

    Linux如何實現(xiàn)給/根目錄擴容

    這篇文章主要介紹了Linux如何實現(xiàn)給/根目錄擴容問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04

最新評論