内存sizeof strlen

从内核世界透视 mmap 内存映射的本质(原理篇)

本文基于内核 5.4 版本源码讨论 之前有不少读者给笔者留言,希望笔者写一篇文章介绍下 mmap 内存映射相关的知识体系,之所以迟迟没有动笔,是因为 mmap 这个系统调用看上去简单,实际上并不简单,可以说是非常复杂的一个系统调用。 如果想要给大家把 mmap 背后的技术本质,正确地,清晰地还原出来 ......
内核 本质 原理 内存 世界

C/C++中结构体占用内存大小的计算方法

两个值: 对齐系数:一般为8个字节。#pragma pack(8)设置对齐系数为8。 有效对齐值:假设结构体中最长的类型的长度为len,则有效对齐值=min(len,对齐系数)。 计算规则: 计算存放的位置:第一个成员放在位置0,后面的成员A存放的时候,会先计算size=min(A大小, 有效对齐值 ......
大小 内存 结构 方法

JAVA 线上故障排查完整套路,从 CPU、磁盘、内存、网络、GC 一条龙!

https://mp.weixin.qq.com/s/zaoypK8nn1egoKFFLKxNLQ (给Java日知录加星标,提高Java技能) 线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。 同时例如jstac ......
套路 一条龙 磁盘 故障 内存

CPU/内存/磁盘/网络/redis/MQ测试工具合集

闲余时间为大家整理了CPU性能测试、内存带宽测试、内存延迟测试、磁盘IOPS测试、网络测试、数据库测试、Kafka/rabbitMQ性能测试工具合集,后续也会对工具进行简单使用说明。 序号 工具名称 监控策略及内容 1 UnixBench-5.1.4 CPU性能测试 2 stream 内存带宽测试 ......
测试工具 磁盘 内存 工具 redis

记一次 .NET 某电力系统 内存暴涨分析

一:背景 1. 讲故事 前些天有位朋友找到我,说他生产上的程序有内存暴涨情况,让我帮忙看下怎么回事,最简单粗暴的方法就是让朋友在内存暴涨的时候抓一个dump下来,看一看大概就知道咋回事了。 二:Windbg 分析 1. 到底是谁吃了内存 这个问题说的再多也不为过,一定要看清楚这个程序是如何个性化发展 ......
电力系统 内存 电力 系统 NET

[Microsoft Azure] 如何在 Azure App Service 上获取内存转储文件

在本文中,我们将探讨如何在 Azure App Service 上获取应用程序的内存转储文件。这对于诊断和解决应用程序性能问题非常有用。 在处理 Azure App Service 上运行的应用程序性能问题时,获取内存转储文件可能非常有用。内存转储文件记录了应用程序在某个时刻的内存状态,可以帮助开发 ......
Azure Microsoft 内存 Service 文件

76-深浅拷贝-参数的传递-不可变对象含可变子对象-内存分析

元组不可变,不支持给它的元素赋值 ......
变子 对象 深浅 拷贝 内存

75-深浅拷贝-内存分析

如,克隆一个人,只克隆我自己,我的儿子孙子没拷贝进来,就是浅拷贝 浅拷贝只拷贝个人,而深拷贝是一个家庭 ......
深浅 拷贝 内存 75

71-变量的作用域-全局变量-局部变量-栈帧内存分析讲解

帧就是看电影的时候,一咋眼一个帧,胶卷一样,这个也是一样 使用前必须要赋值,上面全局有a,你这局部再a,他就认为你这是一个局部变量,只是重名了 a=300是栈帧里的,而a=3是全局的,就像你班级里有个张伟,你学校里还有个,你肯定优先考虑你班级的 ......
变量 全局 局部 内存 作用

67-函数的基本概念-内存分析-函数的分类-定义和调用

java中叫方法,不叫函数,本质是一样的 python函数有几种: 内置函数,标准库函数 2.标准库函数,如tutle海龟画图 在python中,一切都是对象! 左边是堆,变量test01,右边是栈,id,函数也是对象 ......
函数 内存 概念 67

Java内存模型

Java内存模型(Java Memory Model,JMM)定义了Java程序在多线程环境下如何与主内存和工作内存交互的规范。JMM规定了变量的可见性、原子性和顺序性等方面的规则,保证了多线程程序的正确性和可靠性。 Java内存模型包括以下几个核心概念: 主内存(Main Memory):主内存是 ......
模型 内存 Java

27-字符串-驻留机制-内存分析-字符串同一判断-值相等判断

必须得符合标识符规则,带下划线_ ......
字符串 字符 机制 内存 27

linux 内存盘的使用方式与验证

linux 内存盘的使用方式与验证 背景 某些情况下, 硬盘的写入是一个很大的瓶颈 使用 内存文件系统的方式应该能够极大的提高IO的速度. 内存盘的优点是比较快, 缺点就是数据不是持久化的. 其实还是有很多可以持续优化的方式与方法的. 可以最大化的 磁盘的IO速度等. 内存盘的多种模式与区别 ram ......
内存 方式 linux

虚拟内存如何与物理内存映射

转自 https://www.cnblogs.com/binlovetech/p/17571929.html 笔者之前在自己的专栏《聊聊 Linux 内核》 里通过大量的篇幅写了一个系列关于内存管理相关的文章,在这个系列文章中,笔者分别通过虚拟内存管理和物理内存管理两个角度算是把 Linux 内存管 ......
内存 物理

C++ sizeof 杂谈

原来 sizeof 是一个特殊的,运算优先级很高的一种运算符?之前一直都不知道。 参考博客: c++中sizeof()的用法介绍 C++ 学习杂谈:sizeof(string)到底是多少? 优先级 作为一个运算符,sizeof 自然也是有优先级的,它在 C++ 中优先级为 \(3\),也就是除了作用 ......
杂谈 sizeof

如何在linux的环境中,创建swap内存?

背景说明 swap内存是系统中的临时内存,或者说,用磁盘的文件空间,当做物理内存来使用。主要是,为了解决一些系统,物理内存不够的情况,可以用swap内存作为一些补充。 但是要注意,swap内存的效率是非常的低的,如果应用对内存有足够的需求,可以考虑增加物理内存来提升性能。 通过下面的内容,你将会知道 ......
内存 环境 linux swap

docker shm,共享内存出问题

BUS error encountered in DataLoader worker. This might be caused by insufficient shared memory (shm), please check whether use_shared_memory is set an ......
内存 docker 问题 shm

内存OOM机制

目录OOM原理简介内核参数简介panic_on_oomoom_kill_allocating_taskoom_scoreoom_adjoom_score_adjoom_dump_tasks测试方法测试思路测试用例 OOM原理简介 当系统发生OOM的时候,根据panic_on_oom配置,走系统奔溃还 ......
机制 内存 OOM

top命令res升高,内存泄露,cpu飙高排查方法

Jconsole:可以直观查看堆内存,堆外内存的使用情况,在jdk的bin目录下 如果内存持续上涨,且gc后下降较少,可以确定存在内存泄漏,再使用visualvm/MemoryAnalyzer确定内存泄漏位置 MAT的使用: 先生成dump文件,命令: jmap -dump:live,file=09 ......
命令 内存 方法 top res

IM跨平台技术学习(九):全面解密新QQ桌面版的Electron内存优化实践

本文我们将和大家分享新版 QQ 在内存优化方面的探索和阶段性优化进展。虽然本文的讨论主要集中在 Windows 平台,但由于 Electron 的跨平台特性,大部分优化措施也同样适用于 macOS 和 Linux 平台。 ......
Electron 内存 桌面 技术

动态内存

动态对象的正确释放被证明是编程中极其容易出错的地方。为了安全地使用动态对象,标准库定义了两个智能指针类型来管理动态分配的对象。当一个对象应该被释放时,指向它的智能指针可以确保自动地释放它。 静态内存用来保存局部 static 对象、类 static 数据成员以及定义在任何函数之外的变量。栈内存用来保 ......
内存 动态

Android 编译线程爆了, gradle 内存 OOM 解决之路

本文首发我的微信公众号徐公,收录于 Github·AndroidGuide,这里有 Android 进阶成长知识体系, 希望我们能够一起学习进步,关注公众号徐公,5 年中大厂程序员,一起建立核心竞争力 背景 最近我们项目在编译的时候,编译多次之后,有挺多人反馈会出现 OOM 的,在项目的根目录下面会 ......
线程 内存 Android gradle OOM

项目上需要过检,要服务器上的CPU和内存达到顶峰,平时使用率太低了

可以使用工具达到 https://www.52pojie.cn/thread-1443596-1-1.html ......
使用率 顶峰 内存 服务器 项目

11-引用的本质-栈内存和堆内存-内存示意图

栈放变量,堆放对象! ......
内存 示意图 本质 11