操作系统和进程的资源消耗

news2025/7/19 5:53:08

free -h 获取操作系统当前内存

  • Mem 行(第二行)是内存的使用情况。

  • Swap 行(第三行)是交换空间的使用情况。

  • total 列显示系统总的可用物理内存和交换空间大小。

  • used 列显示已经被使用的物理内存和交换空间。

  • free 列显示还有多少物理内存和交换空间可用使用。

  • shared 列显示被共享使用的物理内存大小。

  • buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。

  • available 列显示还可以被应用程序使用的物理内存大小。

https://blog.csdn.net/xp178171640/article/details/123634439

top

  • PID:进程id

  • USER:进程所有者

  • PR:进程的优先级,越小优先级越高

  • NI:nice值,负值表示高优先级,正值表示低优先级

  • VIRT:进程使用的虚拟内存,单位是kb

  • RES:进程使用的物理内存,单位kb

  • SHR:进程使用的共享内存,单位kb

  • S:进程状态(S表示休眠,R表示正在运行, Z表示僵死状态,N表示该进程优先值为负数,I表示空闲状态)

  • %CPU:进程占用的CPU使用率

  • %MEM:进程使用的物理内存和总内存的百分比

  • TIME+:进程使用的CPU时间总计,单位1/100秒

  • COMMAND:命令行

https://blog.csdn.net/weixin_40734030/article/details/125558689

VIRT:

1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据,以及malloc、new分配的堆空间和分配的栈空间等;

2、假如进程新申请10MB的内存,但实际只使用了1MB,那么它会增长10MB,而不是实际的1MB使用量。

RES:

1、进程当前使用的内存大小,包括使用中的malloc、new分配的堆空间和分配的栈空间,但不包括swap out量;

2、包含其他进程的共享;

3、如果申请10MB的内存,实际使用1MB,它只增长1MB;

获取进程的占用

/proc/[pid]/statm

size (1) total program size

(same as VmSize in /proc/[pid]/status)

resident (2) resident set size

(same as VmRSS in /proc/[pid]/status)

share (3) shared pages (i.e., backed by a file)

text (4) text (code)

lib (5) library (unused in Linux 2.6)

data (6) data + stack

dt (7) dirty pages (unused in Linux 2.6)

参数 解释 /proc/[pid]/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

代码获取进程的消耗占用

snprintf(filename, sizeof(filename) - 1, "/proc/%d/statm", pid); char buf[256];

FILE *fd = fopen(filename, "r");

文件内容就是上面的,, size Resident Shared

https://blog.csdn.net/myw31415926/article/details/127643672

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/362558.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于龙芯 2K1000 的嵌入式 Linux 系统移植和驱动程序设计(一)

2.1 需求分析 本课题以龙芯 2K1000 处理器为嵌入式系统的处理器,需要实现一个完成的嵌入式软件系统,系统能够正常启动并可以稳定运行嵌入式 Linux。设计网络设备驱 动,可以实现板卡与其他网络设备之间的网络连接和文件传输。设计 PCIE 设备驱…

自定义Ext JS组件类

在Ext JS 中如何自定义一个组件类呢? 实现方式是继承Ext.Component ,定义一个自己的组件类。 那么,这个组件类该怎样扩展自己的功能呢? 举例来说, 有这样一个需求: 扩展一个Grid的子类,通过pageType的属性值来显示不同的列。 如果是查看页面,则所有列都是不可编辑的如…

尚医通 (二十)预约挂号功能

目录一、预约挂号详情1、需求2、预约挂号详情接口3、预约挂号详情前端二、预约确认1、需求2、预约确认接口3、预约确认前端一、预约挂号详情 1、需求 接口分析 (1)根据预约周期,展示可预约日期数据,按分页展示 (2&…

【微信小程序】使用云存储存入指定文件夹

前言在我们开发微信小程序的时候常会用到云开发的功能,它相比传统的SQL上手难度低,比较适合没有什么后端基础的开发者使用。在具体的项目需求中我们会让用户上传一些图片或者表格,随着用户量增大,文件类型增多,云存储分…

张驰咨询2023年企业如何活下去、甚至有效增长?

2023年企业活下去和有效增长的关键在于适应和应对不断变化的市场和环境。以下是几点建议: 数字化转型:随着数字化的普及,企业需要加快数字化转型,提高数字化技术的应用水平。这样可以提高企业的生产效率、管理效率和创新能力。 …

2023年谷歌seo排名优化指南

本文主要分享2023年关于谷歌排名机制变化以及如何提升谷歌排名的一些方法。 本文由光算创作,有可能会被剽窃和修改,我们佛系对待这种行为吧。 2023年,谷歌搜索引擎对于SEO的优化策略已经发生了一些变化,要想保持网站在谷歌搜索中…

Javaweb之mybits入门

2.1 Mybatis概述 2.1.1 Mybatis概念 MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发 MyBatis 本是 Apache 的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github …

挣值管理案例讲解

一、概念1.挣值管理是一种综合了范围、时间、成本绩效测量的方法。通过与计划完成的工作量、实际挣得的收益、实际的成本进行比较,可以确定成本、进度是否按计划进行。挣值管理可以在项目某一特定时间点上,从达到范围、时间、成本三项目标上评价项目所处…

1.2 学习环境准备

文章目录1.MariaDB简介2.MariaDB服务端和客户端安装1.MariaDB简介 因为MariaDB作为MySQL的延申,其包含MySQL所有的有点,并且其包含了更丰富的特性。比如微秒的支持、线程池、子查询优化、组提交、进度报告等; 所以我们接下来将已MariaDB作为…

TCP多线程并发IO阻塞服务模型

1. 多进程并发服务器 在 Linux 环境下多进程的应用很多,其中最主要的就是网络/客户服务器。多进程服务器是当客户有请求时,服务器用一个子进程来处理客户请求。父进程继续等待其它客户的请求。这种方法的优点是当客户有请求时,服务器能及时处理客户,特别是在客户服务器交互…

狂神说:流程控制——顺序选择循环结构

System.out.println(10) // 输出带回车 System.out.print(10) // 输出没有回车一、顺序机构挨个往下写,就是最基本的顺序结构二、选择结构 if、switchif单选择结构虽然简单,但也挺经常用的Scanner scanner new Scanner(System.in); // 和下面的…

毕业后想从事软件测试,现在需要学习哪些内容呢

在你选择学习之前,要先考虑一下这个是不是你喜欢的发展方向,而不是只听别人推荐就直接做了选择先了解下软件测试是做什么的以及未来发展前景,最后才是如何自学 软件测试就是在测试这个软件是不是能够完全按照需求运行。软件测试岗再简单点说…

基于JAVAWEB的出租车管理系统

摘要在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括出租车管理系统的网络应用,在国外出租车管理已经是很普遍的方式,不过国内的出租车管理可能还处于起步阶段。出租车管理系统具有出租、归还等功能。…

分布式之如何突破raft集群写数据性能瓶颈

写在前面 在分布式之Raft共识算法分析 一文中我们分析了当前比较常用的raft共识算法,通过raft算法我们可以很容易搭建集群并选举leader,然后由leader负责数据的写操作,这样也可以很容易的解决数据一致性的问题,但是只由leader来处…

C# 表达式树

lambda作为实现表达式树的一种方式&#xff0c;在开始学习表达式树之前&#xff0c;需要对lambda进行一些了解 表达式lambda&#xff0c;定义&#xff1a; (input-parameters) > expression 语句lambda&#xff0c;定义&#xff1a; (input-parameters) > { <sequen…

简单一招教你给大量视频添加srt字幕

很多小伙伴们在剪辑视频的同时需要给视频的画面中添加上srt字幕&#xff0c;那在有很多视频都要添加字幕的时候&#xff0c;就非常的费时&#xff0c;今天小编就给大家分享一个可以批量给大量视频添加srt字幕的简单方法&#xff0c;有需要的小伙伴可以进来看看具体步骤哦&#…

highlight.js高亮npm安装常见问题

目录 安装 highlight.js 安装 vue-highlightjs 安装highlightjs/vue-plugin main.js配置 最近在写低代码&#xff0c;有需求类似编辑器功能&#xff0c;实现代码高亮&#xff0c;然后用到了highlight.js&#xff0c;就整理一下。 官网链接直达 highlight.js 中文文档 安装 h…

calico-kube-controllers 启动失败处理

故障描述calico-kube-controllers 异常&#xff0c;不断重启日志信息如下2023-02-21 01:26:47.085 [INFO][1] main.go 92: Loaded configuration from environment config&config.Config{LogLevel:"info", WorkloadEndpointWorkers:1, ProfileWorkers:1, PolicyW…

java在Excel中添加png图片作为页眉(已解决)

1.背景 Excel在打印的时候需要附带水印打出&#xff0c;水印需要在下载Excel文件时就设置好 需要在打印的时候打印出水印&#xff0c;使用添加背景添加的水印在打印的时候不会出现&#xff0c;只有设置页眉&#xff0c;并将页眉设置为一长与打印纸张一样大小的图片&#xff0c…

Objective-C 字符串拼接函数 多个不同类型的参数拼接到一个字符串 类似于Java中 String.format()方法的原生API

总目录 iOS开发笔记目录 从一无所知到入门 文章目录需求ScreenshotCodeOutput需求 我有多个参数(类型也许不同)&#xff0c;需要拼接到一个字符串中。 在Java中有String.format()方法可以做到一次性格式转换。 在Objective-C中呢&#xff1f;也有具有类似功能的API&#xff1a…