linux查看系统内存占用排序以及VSZ、RSS内存的区别 什么是虚存、实存、共享内存

2023-05-16

按照内存大小显示前20个进程

ps aux --sort=-%mem | head -20 
$ ps aux --sort=-%mem | head -20
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
nvidia    469117 66.2 16.6 41568364 5202684 pts/6 Sl  15:08   4:24 mainboard -d /apollo/modules/perception/production/dag/dag_streaming_perception_trafficlights.dag
nvidia      4420 72.3 14.1 40500176 4435756 pts/0 Sl  13:58  55:05 mainboard -d modules/prediction/dag/prediction.dag -p mainboard_default -s CYBER_DEFAULT
nvidia      4915 56.8 13.0 39041860 4068040 pts/1 Sl+ 13:59  43:12 ./rs_sdk_demo
nvidia    471489 67.4  2.7 2994036 856136 pts/6  Sl   15:08   4:15 mainboard -d modules/drivers/camera/dag/camera_apollo_3_0.dag -p mainboard_default -s CYBER_DEFAULT
nvidia    121573  7.6  2.7 5271252 853804 ?      Sl   14:17   4:24 /usr/lib/firefox/firefox -new-window
nvidia      6681  8.2  2.3 3062260 723344 pts/5  Sl+  14:00   6:07 cyber_monitor
nvidia      3780  4.6  2.0 5457740 652952 ?      Rsl  13:58   3:35 /usr/bin/gnome-shell
nvidia      4423  146  1.9 5674744 620008 pts/0  Sl   13:58 111:33 mainboard -d modules/perception/production/dag/dag_streaming_perception_mems.dag -p mainboard_default -s CYBER_DEFAULT
nvidia      4419 91.9  1.8 5421840 586128 pts/0  Sl   13:58  70:01 mainboard -d modules/perception/production/dag/dag_streaming_perception_rs.dag -p mainboard_default -s CYBER_DEFAULT
nvidia      4424 45.7  1.7 4869580 552084 pts/0  Sl   13:58  34:51 mainboard -d modules/perception/production/dag/dag_streaming_perception_fusion.dag -p mainboard_default -s CYBER_DEFAULT
nvidia     33279  4.5  1.0 44568684 316284 ?     Sl   14:04   3:11 /usr/share/code/code --type=renderer --enable-crashpad --crashpad-handler-pid=33096 --enable-crash-reporter=e15b358d-4308-4fea-a75a-4eed6bf1f953,no_channel --user-data-dir=/home/nvidia/.config/Code --standard-schemes=vscode-webview,vscode-file --secure-schemes=vscode-webview,vscode-file --bypasscsp-schemes --cors-schemes=vscode-webview,vscode-file --fetch-schemes=vscode-webview,vscode-file --service-worker-schemes=vscode-webview --streaming-schemes --app-path=/usr/share/code/resources/app --no-sandbox --no-zygote --enable-blink-features=HighlightAPI --lang=en-US --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=4 --launch-time-ticks=441823188 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,i,15472344108584902131,18272031511797820233,131072 --disable-features=CalculateNativeWinOcclusion,SpareRendererForSitePerProcess --vscode-window-config=vscode:1fd7e1b4-4bd7-4c5a-b5ce-55338bb22888 --enable-crashpad
nvidia      4422  6.1  0.8 2199144 268716 pts/0  Sl   13:58   4:41 mainboard -d modules/bridge/dag/bridge_receiver_robosense.dag -p mainboard_default -s CYBER_DEFAULT
nvidia      4421  7.0  0.8 2062524 268584 pts/0  Sl   13:58   5:23 mainboard -d modules/bridge/dag/bridge_sender_robosense.dag -p mainboard_default -s CYBER_DEFAULT
nvidia      5015  0.0  0.8 2423184 259128 pts/5  Tl   13:59   0:03 cyber_monitor
nvidia    148403  0.5  0.7 2706576 243812 ?      Sl   14:21   0:17 /usr/lib/firefox/firefox -contentproc -childID 14 -isForBrowser -prefsLen 10049 -prefMapSize 245530 -jsInitLen 277128 -parentBuildID 20220608170832 -appDir /usr/lib/firefox/browser 121573 tab
nvidia      5518  0.0  0.7 2425580 241324 pts/5  Tl   14:00   0:00 cyber_monitor
nvidia      4910 14.1  0.7 2270644 240720 pts/0  Sl   13:59  10:46 mainboard -d /apollo/modules/canbus/dag/canbus.dag -p canbus -s CYBER_DEFAULT
nvidia      4417  4.3  0.7 2336800 240444 pts/0  Sl   13:58   3:20 mainboard -d modules/transform/dag/static_transform.dag -p mainboard_default -s CYBER_DEFAULT
nvidia     34368  4.6  0.7 38181356 234044 ?     Sl   14:04   3:15 /usr/share/code/code --ms-enable-electron-run-as-node /usr/share/code/resources/app/out/bootstrap-fork --type=fileWatcher

可以看到内存大小从大到小排列,但是有VSZ RSS的区别。而且CSZ十分的大甚至超过我们设备的存储空间。

RSS是Resident Set Size(常驻内存大小)的缩写,用于表示进程使用了多少内存(RAM中的物理内存),RSS不包含已经被换出的内存。RSS包含了它所链接的动态库并且被加载到物理内存中的内存。RSS还包含栈内存和堆内存。

VSZ是Virtual Memory Size(虚拟内存大小)的缩写。它包含了进程所能访问的所有内存,包含了被换出的内存,被分配但是还没有被使用的内存,以及动态库中的内存。

假设进程A的二进制文件是500K,并且链接了一个2500K的动态库,堆和栈共使用了200K,其中100K在内存中(剩下的被换出或者不再被使用),一共加载了动态库中的1000K内容以及二进制文件中的400K内容至内存中,那么:

RSS: 400K + 1000K + 100K = 1500K
VSZ: 500K + 2500K + 200K = 3200K

由于部分内存是共享的,被多个进程使用,所以如果将所有进程的RSS值加起来可能会大于系统的内存总量。

申请过的内存如果程序没有实际使用,则可能不显示在RSS里。比如说一个程序,预先申请了一大批内存,过了一段时间才使用,你会发现RSS会增长而VSZ保持不变。

还有一个概念是PSS,它是proportional set size(proportional是成比例的意思)的缩写。这是一种新的度量方式。它将动态库所使用的内存按比例划分。比如我们前面例子中的动态库如果是被两个进程使用,那么:

PSS: 400K + (1000K/2) + 100K = 400K + 500K + 100K = 1000K

一个进程中的多个线程共享同样的地址空间。所以一个进程中的多个线程的RSS,VSZ,PSS是完全相同的。linux下可以使用ps或者top命令查看这些信息。

什么是虚存、实存、共享内存?

虚存 ( VIRT = SWAP交换区 + RES 实际占用实存):进程 “需要的” 虚拟内存大小。包括进程使用库、代码、数据,以及malloc、new分配的堆空间和分配的栈空间等。例如:申请10MB,使用1MB,依然增长到10MB。

实存( RES = CODE代码 + DATA数据 ):包括使用中的 malloc, new分配的堆空间和分配的栈空间,但不包括 swap out 量。虚存是包含实存的。例如:申请10MB,使用1MB,实际增长内存1MB。

共享内存( SHR ):自身,也包括其它进程的共享内存。进程只使用了几个共享库的函数,但包含整个共享库大小,这些库对于每个进程而言都是公用的,它们在内存中实际只会加载一份,这部分称为共享内存。某个进程所占的物理内存大小:RES 实存 - SHR 所占用共享内存大小(实际所占用)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux查看系统内存占用排序以及VSZ、RSS内存的区别 什么是虚存、实存、共享内存 的相关文章

  • 【无标题】

    linux常用的压缩格式为 xff1a zip tar gz tar tar bz2等 xff0c 不同的方式消耗的时间和压缩比差异比较大 1 zip zip r test zip test r 表示当前test是个目录 2 解压命令 xf
  • 【无标题】

    如下是读取16bit音频raw文件的程序 xff0c 其中的short就是为了16bit准备的 xff0c 一般的固定频率的单频 xff08 1khz之类 xff09 的音频文件是固定的循环 xff0c 比如1khz是每8个点循环一次 xf
  • select 的使用

    select是在指定时间内 xff08 最后一个参数指定的时间 xff09 轮询指定fd集合的接口 1 需要包含的头文件 include lt sys time h gt select是在指定时间内轮询 xff0c 所以有时间相关的参数 i
  • KEIL修改背景色

    本篇文章借鉴 于旺园先生的 平时在用keil软件比较多 xff0c 看白色背景比较多有点伤眼睛 xff0c 现在我们来设置一下keil的背景 xff0c 来保护我们的眼睛吧 效果图 xff1a 1 打开配置界面 color amp font
  • QT表格的实现

    本文章复制于别人的博客 xff0c 是因为我怕原创者把原著删掉 xff0c 所以就复制下来了 xff0c 如有冒犯 xff0c 请多见谅 xff01 一 简介 QTableWidget是QT对话框设计中常用的显示数据表格的控件 xff0c
  • QT 表格

    在公司公示Qt开发一段时间 xff0c 表格用到不少 xff0c 所以 xff0c 今天在这做个总结 xff0c 防止以后忘记 下面为个人模拟Windows资源管理器的一个表单 xff08 写的比較粗糙 xff0c 谅解一下 xff09 一
  • 格力空调红外编码

    格力空调遥控器红外编码透析 xff08 长码 xff09 2016年11月04日 13 13 19 阅读数 xff1a 5516 格力空调遥控器 xff08 YB0F2 xff09 红外码组成如下 xff0c 按解码顺序排列 起始码 xff
  • android相机Camera.Parameters所有的参数值

    最近两天一直在看android相机的参数设置 xff0c Camera Parameters中属性值非常的多 xff0c 我索性就把就调用的flatten 方法 xff0c 将设置的参数值都打印出来了 xff0c 方便以后查看 xff0c
  • 酒店管理项目

    数据库介绍 user表 xff1a 这是一个管理员的表 xff0c 用于存储可对后台进行操作的人员信息表 xff0c 其中重要的字段包括包括主键ID xff0c 与权限等级 xff0c 密码 room表 xff1a 作为存储房间信息的表 x
  • 无人机——电池、电机、螺旋桨搭配

    1 电机 1 xff09 电机KV值 KV值是每1V的电压下电机每分钟空转的转速 例如KV800 在1V的电压下空转转速是800转每分钟 那么10V的电压下是8000转每分钟的空转转速 KV值越小 xff0c 同等电压下转速越低 xff0c
  • 姿态和位置,四旋翼的控制流程

    xfeff xfeff 姿态和位置计算 xff1a EKF 位置控制 xff1a PID 姿态控制 xff1a 姿态环是直接P控制 xff0c 姿态率是PID控制 主要是滤波算法和姿态算法还有PID算法 滤波算法主要是将获取到的陀螺仪和加速
  • Jetson nano 通过 vnc 实现远程桌面控制(已在nano实现)

    目录 一 linux环境 xff1a Ubuntu 18 04 二 nano设置VNC服务 三 设置开机自启动 四 设置静态IP 一 linux环境 xff1a Ubuntu 18 04 jetson nano用的是ubuntu18 04的
  • make px4_sitl_default gazebo出错

    出现错误时候 xff0c 可以在固件文件夹下先更新下 make clean sudo apt get update sudo apt get upgrade 错误1 xff1a 编译make px4 sitl default gazebo
  • PX4 与 MAVROS 实现offboard

    目录 一 虚拟机仿真环境 1 创建工作空间 2 创建ROS节点功能包 3 运行PX4的gazebo仿真 4 启动PX4与Mavros之间的连接 二 真机控制 1 硬件连接 2 软件设置 3 出现问题 Ubuntu xff1a 20 04 x
  • AprilTag_ros的使用

    目录 前言 一 usb摄像头的安装和使用 二 AprilTag ros包的安装 三 单目摄像机的标定 四 AprilTag ros的使用 五 其他 前言 平台 xff1a VM虚拟机 ROS版本 xff1a noetic Ubuntu xf
  • make px4_sitl_default gazebo 建立PX4仿真环境的各种坑

    前言 xff1a 平台 xff1a VM 虚拟机 Ubuntu18 04 gazebo9 一 执行组件更新总是各种中断 git submodule update init recursive 众所周知这是墙墙的故事 xff0c 所以进行了机
  • Jetson nano刷机安装系统

    1 下载系统镜像 可以到官网上下载镜像 xff0c 英伟达官网 在上面选择合适的镜像文件下载 2 格式化内存卡 需要下载格式化tf卡的工具SD Memory Card Formatter xff0c 读者可以也自行下载 格式化时候就像下图
  • 继电器的使用

    继电器使用 继电器基本说明 继电器就相当于一个开关 xff0c 接在任意线上 xff0c 通过控制信号下控制通断 xff1b 一般是断开状态 xff0c 此时线就断开了 xff0c 没导通 xff1b 在控制信号作用下继电器闭合 xff0c
  • 在树莓派上使用火焰,声音,震动,光敏传感器

    作为一个软件工程专业的学生 xff0c 对传感器等硬件的使用一直不太顺手 xff0c 而在树莓派使用Python的RPi GPIO xff0c 进行传感器等硬件的使用却是非常方便 而且使用树莓派这个网络功能强大的控制中心 xff0c 其在物
  • UCOSIII---信号量

    UCOSIII 信号量 概述PV原语函数接口创建信号量等待信号量释放信号量 例程注意 优先级反转概述解决方案注意事项 概述 信号量常用于任务的同步 xff0c 通过该信号 xff0c 就能够控制某个任务的执行 xff0c 这个信号具有计数值

随机推荐

  • 十分钟读懂『卡尔曼滤波算法』

    我是勤劳的搬运工 xff0c 转自 xff1a 1 http blog csdn net karen99 article details 7771743 2 http blog csdn net tudouniurou article de
  • Pixhawk基于Radio地面站发送指令

    xfeff xfeff px4原生固件提供offboard飞行模式 xff0c Offboard模式是使用外部电脑 xff08 软件 xff09 与pixhawk相连 xff0c 并进行控制 在室内室外都可使用该模式 xff0c 标准代码都
  • IDEA中SpringBoot出错问题

    1 新建项目时 xff0c 出现 Error java 无效的标记 parameters 或者 Error java 无效的源发行版 13 等这些问题时 xff0c 需要看下project setting中的各种配置 xff0c 注意以下图
  • 程序 = 数据结构 + 算法

    我们编写程序的目的就是与真实世界交互 xff0c 解决真实世界的问题 xff0c 帮助真实世界提高运行效率与改善运行质量 所以我们就需要对真实世界事物体的重要属性进行提炼 xff0c 并映射到程序世界中 xff0c 这就是所谓的对真实世界的
  • C++中的::

    34 34 在C 43 43 中表示作用域 xff0c 和所属关系 34 34 是运算符中等级最高的 xff0c 它分为三种 xff0c 分别如下 xff1a 一 作用域符号 xff1a 作用域符号 的前面一般是类名称 xff0c 后面一般
  • Ubuntu16桌面版安装realsense SDK

    Ubuntu16桌面版安装realsense SDK 1 下载realsense master 官网下载连接 xff1a https github com IntelRealSense librealsense 2 解压realsense
  • 自动驾驶中使用到的坐标转换

    一 简介 1 1 地心地固直角坐标系 xff08 ECEF xff09 也叫地心地固直角坐标系 其原点为地球的质心 xff0c x轴延伸通过本初子午线 xff08 0度经度 xff09 和赤道 xff08 0deglatitude xff0
  • 自动驾驶坐标转换-北东地/东北天两种导航坐标系与姿态转换

    一 坐标系 1 导航坐标系 常用的导航坐标系有北东地和东北天两种 两种坐标系的指向分别定义如下 xff1a 1 1 北东地坐标系 X轴 xff1a 指北 Y轴 xff1a 指东 Z轴 xff1a 指地 1 2 东北天坐标系 X轴 xff1a
  • DMA 中断 查询三者的区别

    1 DMA xff08 DIRECT MEMORY ACCESS xff09 即直接存储器存取 xff0c 是指外部设备不通过CPU而直接与系统内存交换数据的接口技术 要把外设的数据读入内存或把内存的数据传送到外设 xff0c 一般都要通过
  • Linux 下 i2c switch(选路芯片mux) — pca9548

    作者 xff1a 韩大卫 64 吉林师范大学 现有的关于i2c switch 资料非常少 即使阅读完官方的datasheet 也不能写出完全正确的操作 因为内核中的驱动本身不是那么完善的 还有一些资料是单片机编程的 xff0c 可惜在lin
  • 栈区的地址增长方向与buf地址的增长方向是两个完全不同的概念

    一 栈区的地址增长方向 要想验证栈区究竟是开口向上还是开口向下 xff0c 都进行先压变量a再压变量b的操作 xff0c 若a的首地址比b的首地址大则说明开口向下 xff0c 若b的首地址比a的首地址大 xff0c 则说明开口向上 xff0
  • [转]www-authenticate认证过程浅析

    一 www authenticate简介 www authenticate是早期的一种简单的 xff0c 有效的用户身份认证技术 很多网站验证都采用这种简单的验证方式来完成对客户端请求的数据的合法性进行验证 尤其在嵌入式领域中 xff0c
  • 在vue的v-for中,key为什么不能用index?

    写在前面 在前端中 xff0c 主要涉及的基本上就是 DOM的相关操作 和 JS xff0c 我们都知道 DOM 操作是比较耗时的 xff0c 那么在我们写前端相关代码的时候 xff0c 如何减少不必要的 DOM 操作便成了前端优化的重要内
  • RVIZ可视化rosbag雷达数据

    ROS播包并RVIZ可视化Lidar数据 准备启动roscore启动rviz配置RVIZ可视化Lidar数据 准备 利用rosbag录制好的Lidar数据包 进入该目录 xff0c 查看该数据包的信息 键入如下命令 xff1a 关注type
  • Win7环境下彻底清除VBS病毒的教程

    说起VBS病毒 xff0c 可能很多用户并不了解 xff0c 但说起1kb快捷方式病毒 xff0c 用户一定有所耳闻 xff0c 甚至亲身经历 xff0c 这种1KB快捷方式病毒有一个名称叫 xff1a 暴风一号 TA可以通过U盘 MP4
  • 【Qt】【CMake】【CMakelists.txt】-用相对路径引入头文件

    Qt CMake希望能用相对路径方式引入自定义的头文件 1 自定义的头文件位置 假设 xff1a 自己写的头文件 xff0c 位置是 xff1a mylib include demo h 2 希望用 lt gt 相对路径来包含 main c
  • cuda学习笔记4——cuda 核函数

    cuda学习笔记4 cuda 核函数 一 CUDA规范二 核函数内部线程的使用2 1 如何启动核函数 demo 1 xff1a 起16个线程来计算 xff0c 四个线程块 xff0c 每个块内四个线程例子demo2 核函数是指在GPU端运行
  • nvidia-smi命令实时查看GPU使用、显存占用情况

    每1秒刷新一次 nvidia smi span class token parameter variable l span span class token number 1 span
  • cuda学习笔记5——CUDA实现图像形态学腐蚀、膨胀

    cuda学习笔记5 CUDA实现图像形态学腐蚀 膨胀 代码linux如何编译cuda和opencv代码耗时情况 代码 span class token comment include 34 cuda runtime h 34 span sp
  • linux查看系统内存占用排序以及VSZ、RSS内存的区别 什么是虚存、实存、共享内存

    按照内存大小显示前20个进程 span class token function ps span aux span class token parameter variable sort span span class token oper