倍数 奇数 偶数 内存条

win32汇编-80386的内存分页机制

读者可以注意到,在实模式下寻址的时候,“段寄存器+偏移地址”经过转换计算以后得到的地址是“物理地址”,也就是在物理内存中的实际地址。而保护模式下,“段选择器+偏移地址”转换后的地址被称为“线性地址”而不是“物理地址”。那么,线性地址就是物理地址吗?答案可能是“是”,也可能是“不是”,这取决于8038 ......
机制 内存 80386 win 32

crash —— 获取系统内存使用统计数据

crash> kmem -i PAGES TOTAL PERCENTAGE TOTAL MEM 197646761 754 GB FREE 33983015 129.6 GB 17% of TOTAL MEM USED 163663746 624.3 GB 82% of TOTAL MEM SHAR ......
统计数据 内存 数据 系统 crash

crash —— 获取物理内存布局信息

crash> mach -m PHYSICAL ADDRESS RANGE TYPE 0000000000000000 - 0000000000001000 E820_RESERVED 0000000000001000 - 000000000006e000 E820_RAM 000000000006 ......
布局 物理 内存 crash 信息

Go指针探秘:深入理解内存与安全性

Go指针为程序员提供了对内存的深入管理能力,同时确保了代码的安全性。本文深入探讨了Go指针的基础概念、操作、深层理解及其特性与限制。通过深入了解其设计哲学和应用,我们可以更好地利用Go的强大功能。 关注公众号【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联 ......
指针 安全性 内存

使用mtrace追踪JVM堆外内存泄露

原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 简介 在上篇文章中,介绍了使用tcmalloc或jemalloc定位native内存泄露的方法,但使用这个方法相当于更换了原生内存分配器,以至于使用时会有一些顾虑。 经过一些摸索,发现glibc自带的ptmall ......
内存 mtrace JVM

内存对齐

1、内存对齐是什么? ​ 计算机的内存就好像一个很大的数组,访问内存的时候,看似是可以从任何地址开始,但是实际上为了简化形成处理器和内存系统之间的接口设计,不同类型的数据会按照一定的规则在空间上排列,并不是按照顺序一个接着一个排放,这种排放方式就是内存对齐。 2、需要内存对齐的原因 ​ 内存对齐能够 ......
内存

JS深入学习笔记 - 第三章.变量作用域与内存

1.原始值和引用值 ECMScript变量包含两种不同类型是数据:原始值和引用值。 原始值:最简单的数据。有6中原始值:Undefined、Null、Boolean、Number、String和Symbol。原始值是按值访问。 引用值:由多个值构成的对象。三大引用类型:1.object 2.Arra ......
变量 内存 作用 第三章 笔记

Java内存区域划分

前言 为什么要对内存进行区域划分? 我们知道, 在厨房做菜的时候,厨师需要用到东西都是放在固定区域的 比如,厨具放在厨具区,调料放在调料区,菜料放在菜品区 这样在做菜的时候,厨师就能够很容易的找到要用到的厨具,从而将专注力都汇聚在炒菜本身,而不是找工具 JVM划分内存区域的道理也是相同 运行程序就好 ......
内存 区域 Java

使用qemu来dump虚拟机的内存,然后用crash来分析

场景 如果虚拟机没有开启kdump,或者卡死了,那么可以进入qemu的monitor模式将虚机的内存保存到文件中,然后使用crash工具进行分析。 示例 启动虚拟机,然后按ctrl+a c进入monitor,查看帮助 (qemu) help dump-guest-memory dump-guest- ......
内存 crash qemu dump

09_预处理 内存分区

预处理 内存分区 全局变量: ​ 不初始化默认为0 ​ 作用范围:当前源文件和其他源文件都有效 ​ 存储区域: 全局区 局部变量 ​ 不初始化值不确定 静态局部变量 ​ 作用范围: 所在{} ​ 生命周期: 整个进程 ​ 存储区域: 全局区 ​ 不初始化默认为0 静态全局变量 ​ 作用范围: 当前源 ......
内存 09

关于LXD容器出现OOM错误,以及添加内存条后容器无法启动的解决

目前实验室的GPU服务器有4张3090显卡,但是只有32GB内存,频繁出现OOM(Out Of Memory)错误,因此博主通过添加大swap文件暂时缓解该问题,并采购内存条以解决该问题,同时解决添加内存条后lxc报错的问题。 ......
容器 内存条 内存 错误 LXD

深入探讨Java面试中内存泄漏:如何识别、预防和解决

引言 在编写和维护Java应用程序时,内存泄漏是一个重要的问题,可能导致性能下降和不稳定性。本文将介绍内存泄漏的概念,为什么它在Java应用程序中如此重要,并明确本文的目标,即识别、预防和解决内存泄漏问题。 内存泄漏的概念 内存泄漏是指应用程序中分配的内存(通常是堆内存)在不再需要时未能正确释放。这 ......
内存 Java

Linux下修改tomcat内存

由于服务器上放的tomcat太多,造成内存溢出。 常见的内存溢出有以下两种: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: Java heap space 一、java.lang.OutOfMemoryEr ......
内存 tomcat Linux

JVM堆内存(heap)详解

JAVA堆内存管理是影响性能主要因素之一。堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的。先看下JAVA堆内存是如何划分的,如图:Java堆内存又溢出了!教你一招必杀技 JVM内存划分为堆内存和非堆内存,堆内存分为年轻代(Young Generati ......
内存 heap JVM

7.1 实现进程内存块枚举

在`Windows`操作系统中,每个进程的虚拟地址空间都被划分为若干内存块,每个内存块都具有一些属性,如内存大小、保护模式、类型等。这些属性可以通过`VirtualQueryEx`函数查询得到。该函数可用于查询进程虚拟地址空间中的内存信息的函数。它的作用类似于`Windows`操作系统中的`Task... ......
进程 内存 7.1

JAVA基础 —— 面向对象内存图

JAVA基础 —— 面向对象内存图 ......
对象 内存 基础 JAVA

java内存分配(堆,栈,方法区,常量池)图解

大家都知道,java程序是运行在jvm(java虚拟机)上的,因此Java的内存分配是在JVM中进行的。那么在程序内存分配上面,大致分为:本地方法栈、程序计数器、虚拟机栈、java堆、方法区。这五类,本次主要讲解的是虚拟机栈、java堆和方法区中的内容。 栈:存放基本数据类型的数据、引用数据类型的变 ......
常量 内存 方法 java

java语言基础--对象内存图解

在JVM内存里面主要分布有以下三个区域: 栈:存放基础数据和自定义对象的引用 堆:主要存储创建的对象,即new出来的对象。 方法区:加载存放class文件(字节码文件) 创建一个对象: 通过上图来看,程序是这样执行的: 将StudentTest01.class文件加载到方法区 将Student.cl ......
语言基础 对象 内存 语言 基础

java--内存与数据结构

JVM 内存划分 栈一种数据结构特点:先进后出(FILO)入栈:把元素放到栈里栈顶:栈中的第一个元素栈底:栈中的最后一个元素出栈:把元素从栈里移除 基本数据类型–值传递 引用类型–地址传递 堆数组在堆中存储 若堆中的内存空间没有被引用的时候,就会变成垃圾,等着垃圾回收器回收 垃圾回收机制 对象在堆中 ......
数据结构 内存 结构 数据 java

虚拟内存

看完B站清华大学的操作系统虚拟内存这一部分,进行总结一下。 虚拟内存的起因 (1)目录起因覆盖技术(早期)/交换技术(早期)/虚存技术虚拟内存技术:目标/程序局部性原理/基本概念/基本特征/虚拟页式内存管理 (2)起因 经常出现内存不够了。程序规模的增长大于存储器容量的增长。理想的存储器:更大,更快 ......
内存

可执行程序加载时系统分配的内存可以分为哪几段

可执行程序加载时系统分配的内存可以分为以下几段: 代码段(Text Segment): 特点:代码段是只读的,存储了程序的机器代码(即程序的指令)。这部分内存是用于存放程序的可执行指令,不可被程序进行写操作。 作用:代码段是程序的执行指令所在,程序在运行时会按照指令顺序执行代码段中的指令。 数据段( ......
内存 程序 系统

显卡共享内存

显卡共享内存一般默认是电脑内存的一半,跟显卡的专用现存没有关系。 可以通过BIOS进行设置 ......
显卡 内存

进程注入之Extra Window Memory(额外窗口内存)注入——利用用户自定义的数据注入恶意代码

Extra Window Memory(额外窗口内存)注入是一种在Windows环境下隐藏恶意代码的技术。这种技术的基本思想是利用Windows的窗口子系统(Window Subsystem)中的一个特性:每个窗口都可以有一段额外的内存,这段内存可以用来存储用户自定义的数据。在Extra Windo ......
恶意 进程 内存 代码 数据

【HarmonyOS】一文教你如何通过内存图片方式使用image组件加载网络图片资源

​【关键字】 内存图片方式、image组件、网络图片资源、api6、服务卡片 1、写在前面 之前写过一篇元服务卡片的开发指导,有需求的可以参考以下文章: 【HarmonyOS】低代码开发之FA卡片开发流程 在2.6 初始化卡片部分,我们实现了加载网络资源的图片,但是直接使用image组件加载网络资源 ......
图片资源 图片 组件 HarmonyOS 内存

记一次 .NET 某餐饮小程序 内存暴涨分析

一:背景 1. 讲故事 前些天有位朋友找到我,说他的程序内存异常高,用 vs诊断工具 加载时间又太久,让我帮忙看一下到底咋回事,截图如下: 确实,如果dump文件超过 10G 之后,市面上那些可视化工具分析起来会让你崩溃的,除了时间久之外这些工具大多也不是用懒加载的方式,比如 dotmemory 会 ......
内存 餐饮 程序 NET

6.3 应用动态内存补丁

动态内存补丁可以理解为在程序运行时动态地修改程序的内存,在某些时候某些应用程序会带壳运行,而此类程序的机器码只有在内存中被展开时才可以被修改,而想要修改此类应用程序动态补丁将是一个不错的选择,动态补丁的原理是通过`CreateProcess`函数传递`CREATE_SUSPENDED`将程序运行起来... ......
补丁 内存 动态 6.3

6.2 Sunday搜索内存特征

Sunday 算法是一种字符串搜索算法,由`Daniel M.Sunday`于1990年开发,该算法用于在较长的字符串中查找子字符串的位置。算法通过将要搜索的模式的字符与要搜索的字符串的字符进行比较,从模式的最左侧位置开始。如果发现不匹配,则算法将模式向右`滑动`一定数量的位置。这个数字是由当前文本... ......
特征 内存 Sunday 6.2

mmap:Python内存映射文件操作

前言 内存映射通常可以提高I/O的性能,因为使用内存映射时,不需要对每个访问都建立一个单独的系统调用,也不需要在缓冲区之间复制数据,内核和用户都能很方便的直接访问内存。 本篇,将详细介绍Python内存映射库:mmap。 mmap(读文件) 使用mmap()函数可以创建一个内存映射文件。该函数的第1 ......
内存 文件 Python mmap

非连续式内存分配

本文中的图片均来自B站清华大学的操作系统课程 为什么提出了非连续式内存分配: 1.连续式内存分配的缺点 (1)分配给一个程序的物理内存是连续的 (2)内存利用率低 (3)有外碎片/内碎片的问题 2.非连续内存分配的优点 (1)能够分配一个程序的物理内存是不连续的 (2)能够更好进行内存的利用和管理 ......
内存

连续式内存分配

应用程序的逻辑地址是如何映射到物理地址 CPU方面来说 1.运算器ALU需要在逻辑地址的内存内容(CPU要逻辑地址) 2.内存管理单元MMU寻找在逻辑地址和物理地址之间的映射(然后MMU找逻辑和物理地址的关系) 3.控制器从总线发送在物理地址的内存内容的请求(关系找到后,去找对应物理地址) 内存方面 ......
内存