首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

让XP支持4G内存

image.png 第五步、取消虚拟内存   除了1G的内存盘,系统尚有3G内存可以使用,一般应用不足2G。所以还可以取消所有分区的虚拟内存设置,就可以完美利用所有的4G内存来提升系统运行速度。...对于高手来说只要简单几步:   第一步、在引导文件boot中加入PAE,开启PAE;   第二步、建立内存盘;   第三步、移动临时文件夹;   第四步、取消虚拟内存;   第五步、在内存盘里安装需要的应用软件...就用ramdisk虚拟硬盘软件来测试 ramdisk是一款将内存转换为虚拟硬盘的小软件,内存的速度是硬盘的几十倍,所以在我处理ps等需要大量暂存盘的软件时,通常都会用它来充当软件的暂存盘,这样软件的速度会倍增..., Datacenter Edition" /3GB /PAE 我们知道32位windows对于每个进程都分配4GB内存(虚拟内存),其中起始的2GB归windows核心使用,剩余的归应用程序本身使用。...5、修改注册表中的AWE_WINDOW_MEMORY键值为合适值。该值表示在3GB内存中(如果使用了/3GB开关,如果没有使用该开关则为2GB)有多少用于数据库块缓存。

6.3K110

暴力搜索内存进程对象反隐藏进程

如果我们访问的虚拟地址所在页在物理内存里,虚拟地址所在页相应的PDE,PTE都是有效的。将其交给CPU转换成物理地址后访问就可以了。如果页不在物理内存中,那对应的PDE,PTE都是无效的。...逻辑地址到物理地址的转换是由处理器完成的。非PAE模式,一个32位的逻辑地址被分成下图所示的3部分。...虚拟地址按4kb步进. wps_clip_image-9281 PAE内存模式判断页面是否有效的方法: PAE 模式, 将原来的使用二级索引结构扩展为三级索引结构, 也就是在原来的页目录和页表基础上再增加一级...分页缓冲池上分配的内存可以交换到虚拟内存,当程序需要这些页面的时候, 再读到内存....非分页缓冲池里分配的内存是不能交换到虚拟内存上面的, 假如放到分页缓冲池并被交换到磁盘上时可能会发生灾难性的后果, 进程的EPROCESS结构体就在非分页缓冲 池 中.

1.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux分页机制之概述--Linux内存管理(六)

    设想一个典型的32位的X86系统,它的虚拟内存用户空间(user space)大小为3G,并且典型的一个页表项(page table entry, pte)大小为4 bytes,每一个页(page)大小为...第一步, 基于两级转换表(页目录表和页中间表), 最终查找到地址所在的页帧 第二步, 基于偏移, 在所在的页帧中查找到对应偏移的物理地址 使用这种二级页表可以有效的减少每个进程页表所需的RAM的数量....当然我们并不需要映射所有的线性地址空间(32位机器上线性地址空间为4GB), 内核通常只为进程实际使用的那些虚拟内存区请求页表来减少内存使用量. 1.3 64位系统中的分页 正常来说, 对于32位的系统两级页表已经足够了...3.3 Linux的三级页表 当X86引入物理地址扩展(Pisycal Addrress Extension, PAE)后,可以支持大于4G的物理内存(36位),但虚拟地址依然是32位,原先的页表项不适用...巧妙的是,Linux采取了一种抽象方法:所有架构全部使用3级页表: 即PGD -> PMD -> PTE。那只使用2级页表(如非PAE的X86)怎么办?

    5.7K20

    内存虚拟化

    虚拟机的内存虚拟化很象现在的操作系统支持的虚拟内存方式,应用程序看到邻近的内存地址空间,这个地址空间无需和下面的物理机器内存直接对应,操作系统保持着虚拟页到物理页的映射。 ?...Intel 的 EPT 技术 EPT的好处是,它的两阶段记忆体转换,特点就是将 Guest Physical Address → System Physical Address,VMM不用再保留一份 SPT...(Shadow Page Table),以及以往还得经过 SPT 这个转换过程。...因此,在多个进程中,Linux将内核相似的内存页合并成一个内存页。这个特性,被KVM用来减少多个相似的虚拟机的内存占用,提高内存的使用效率。由于内存是共享的,所以多个虚拟机使用的内存减少了。...Intel 的 x86 CPU 通常使用4Kb内存页,当是经过配置,也能够使用巨页(huge page): (4MB on x86_32, 2MB on x86_64 and x86_32 PAE) 使用巨页

    1.9K20

    【Android 逆向】x86 汇编 ( 使用 IDA 解析 x86 架构的动态库文件 | 使用 IDA 打开动态库文件 | IDA 中查找指定的方法 )

    文章目录 一、使用 IDA 打开动态库文件 二、IDA 中查找指定的方法 一、使用 IDA 打开动态库文件 ---- 分析 Android SDK 中的 x86 架构的动态库 , 动态库位置 : D:\...001_Develop\001_SDK\Sdk\build-tools\26.0.3\renderscript\lib\intermediates\x86\libc.so 分析 so 动态库 , 需要使用...IDA 工具 , IDA 工具安装参考 【Android 逆向】IDA 安装 ( 使用 IDA 分析 so 动态库 ) 博客 ; 打开 IDA , 选择 " New " 按钮 , 解析一个新的文件 "...目录下的 libc.so 文件 , 打开该文件 ; 设置文件加载选项 , 默认即可 ; 文件加载完毕 , 解析的内容如下图所示 ; 二、IDA 中查找指定的方法 ---- 选中函数窗口 ( 下图中的蓝色矩形框...) , 按下 Ctrl + F 快捷键 , 弹出搜索栏 ( 下图中的红色矩形框 ) ; 搜索 fork 方法 , 在函数窗口 Function window 中的 fork 函数上 , 双击 , 即可显示右侧的汇编代码

    73710

    【Android 逆向】x86 汇编 ( 使用 IDA 解析 x86 架构的动态库文件 | x86 汇编语言分析 )

    文章目录 一、x86 汇编语言分析 一、x86 汇编语言分析 ---- 在上一篇博客 【Android 逆向】x86 汇编 ( 使用 IDA 解析 x86 架构的动态库文件 | 使用 IDA 打开动态库文件...| IDA 中查找指定的方法 ) 中 , 使用 IDA 反编译 Android SDK 中的 D:\001_Develop\001_SDK\Sdk\build-tools\26.0.3\renderscript...\lib\intermediates\x86\libc.so 文件 , 并查找其中的 fork 方法 ; 本篇博客中分析该 libc.so 动态库中的 fork 方法的汇编代码 ; 分析 fork 方法的...: 程序执行过程中 , esp 是栈的地址 , 程序执行过程中需要用到 esp 变量 , 最好不要直接修改 esp , 这里将 esp 拷贝到 ebp 中 , ebp 全程没有修改以及使用 , 函数执行完毕后...$+5 该行指令对应的机器码如下 : 上面 call 调用后 , 会将下一条要执行的指令地址放到栈中 ; 这里使用 pop 将指令地址从栈中取出 , 放到 ebx 中 ; 从栈中取到的值实际上是

    1.5K30

    FME中SurfaceDraper转换器的使用场景

    好久没有写博客了,其实前些日子是写了几个模板的,主要有些东西不能写,有些东西太麻烦。发现有好多朋友对一些转换器使用不是很清楚,不会熟练的使用它,于是就决定用转换器来水一篇幅文章吧。...SurfaceDraper是一个很好用的转换器,官方给的解释是:输入点和隔断线构造 Delaunay 三角剖分。输入的悬垂特征将叠加到表面模型上,并作为悬垂特征输出 。...这个说法太晦涩了,我个人喜欢理解为,将三维空间上的一个面投影到另外一个面上面。具体使用场景,非常丰富。...一、道路悬垂在此之前,我看到某大佬使用SurfaceDraper,可以将悬浮于地形上的道路,投影到地形表面,道路紧贴地形。比如将这种形式图片转换成下面这种形式。图片是不是看起来很简单的一个操作?...二、三维切割如果我想要完成三维上两个物体的裁剪,如下面这种情况,通常情况下,用Clipper不会有太好的结果,你会遇到各种奇奇怪怪的问题,最好的方法,既是将这个小的三脚面,投影到大的三角面上面去,再进行裁剪

    74300

    Java转换流_java中的字符使用什么编码

    编码转换流 字节流:针对二进制文件 字符流:针对文本文件,读写容易出现乱码的现象,在读写时,最好指定编码集为UTF-8 1 概述 编码转换流(InputStreamReader/OutputStreamWriter...)主要进行编码的转换,用来解决字符流读写乱码的问题 2 工具API学习 OutputStreamWriter : OutputStreamWriter(OutputStream out)把传入的字节流转成字符流...,"utf-8"); //new FileInputStream("1.txt"),"gbk"); //new FileInputStream("1.txt"),"iso-8859-1"); //4.使用流读取数据...(in.read()); //拓展:将刚刚读到的数据,以中文的格式展示在控制台 char[] ch = new char[8192]; //Reader中的方法:read(char[] cbuf)将字符读入数组...,返回读取到的字符的个数 int len = in.read(ch);//len保存的是读取到的字符的个数 //此处是String的构造函数,利用ch数组中的数据,构建一个字符串,并打印到控制台 System.out.println

    83220

    谈下Linxu系统中虚拟内存的重要性

    今天就跟大家聊聊有关“谈下Linxu系统中虚拟内存的重要性”的内容,可能很多人都不太了解,为了让大家认识和更进一步的了解,小编给大家总结了以下内容,希望这篇“谈下Linxu系统中虚拟内存的重要性”文章能对大家有帮助...实现虚拟内存   虚拟内存是将系统硬盘空间和系统实际内存联合在一起供进程使用,给进程提供了一个比内存大得多的虚拟空间。...因为使用页机制的原因,通过段机制转换得到的地址仅仅是作为一个中间地址——线性地址,该地址不代表实际物理地址,而是代表整个进程的虚拟空间地址。...在实际使用中,并非所有页表项都是被存放在一个大页表里,因为每个页表项占4个字节,如果要在一个表中存放2的20次方个页表项,就需要4M的连续存储空间。...利用门的目的就是保证入口可控,不至于进入到内核中不该访问的位置。 Linux中的分页策略   看看linux中如何使用分页。

    56810

    深入理解Linux内核页表映射分页机制原理

    而实现虚拟内存的关键就在于建立虚拟地址(Virtual Address,VA)与物理地址(Physical Address,PA)之间的关系,因为无论如何数据终究要存储到物理内存中才能被记录下来。...二、X86中的分页 X86中定义分页即将每个线性地址转换为物理地址,并确定对于每个转换,允许对线性地址的何种访问(地址的访问权限)以及用于此类访问的缓存类型(地址的内存类型)。...这也是为什么X86 32位CPU支持PAE(Physical Address Extension)的原因。...地址转换过程也是一样,从CR3开始逐级找到Physical Address,这里不再赘述了。 三、ARM中的分页 看完了X86中的分页,再看ARM中分页。...4.1 X86分页 X86架构中支持四种分页模式:32-bit,PAE,4-Level Paging和5-Level Paging。对于ARM体系架构最多用到了4级分页,而X86架构可以用到5级分页。

    3.7K11

    Linux分页机制之分页机制的实现详解--Linux内存管理(八)

    不过,页上级目录和页中间目录在指针序列中的位置被保留,以便同样的代码在32位系统和64位系统下都能使用。...这就允许存放在某个页框中的一个页,然后保存到磁盘上,以后重新装入这同一页时又被装在不同的页框中。这就是虚拟内存机制的基本要素。 每一个进程有它自己的页全局目录和自己的页表集。...2.2 页表描述宏 参照arch/x86/include/asm/pgtable_64 linux中使用下列宏简化了页表处理,对于每一级页表都使用有以下三个关键描述宏: 宏字段 描述 XXX_SHIFT...如果 PAE 未被激活,这个函数只是返回输入参数 pud 的值,也就是说,返回页全局目录中目录项的地址。如果 PAE 被激活,该函数返回线性地址 addr 对应的页中间目录项的线性地址。...整个过程是比较机械的,每次转换先获取物理页基地址,再从线性地址中获取索引,合成物理地址后再访问内存。

    3.5K42

    Python 中的进制转换

    ★本文是书稿中的一部分,主要介绍了 Python 中进制转换的实现方法。...在数学和计算机原理的资料中,会找到如何用手工的方式实现各种进位制之间的转换——这些内容不在本书范畴,此处重点介绍使用 Python 内置函数实现进制转换,并由此观察一个貌似“ bug ”的现象。...3.4.1 转换函数 在 Python 内置函数中(如3.3节中的表3-3-1所示)提供了实现数值转换的函数,下面依次介绍。 1....在 hex() 返回的十六进制字符串中,所用的 到 的字母均为小写。 对于十进制的浮点数,虽然 hexo() 不能使用,但浮点数对象有一个方法可以实现向十六进制的转换。...建议读者在学习完第8章和第9章,再认真阅读此模块的官方文档,并练习使用其中的各个方法。

    2.3K20

    如何在FME中更好的使用Tester转换器

    Tester转换器 过滤规则: 需处理字段: Name与Address(要素只能有Name或Address中的一个字段) 规则: 不能只有半括号(有全括号的可以):(、)、(、) 不能有特殊字符: 英文...、*、# 处理思路: 首先,确定要使用的转换器。既然是过滤,第一个要考虑的就是tester转换器,接下来就要考虑使用什么规则、怎么组合。...规则的组合: 在这里,我使用正则来过滤,表达式的设置截图如图1所示。...特殊字符设置比较简单,只要是要素中要测试字段包含了该字符就算通过了规则,全括号与半括号的规则稍微复杂了一点,需要通过使用两条规则来组合,并且对第三条与第六条规则进行了取反设置。...更多内容可到视频中查看: ?

    3.6K10

    KVM之CPU虚拟化

    1.1 为什么要虚拟化CPU 虚拟化技术是指在x86的系统中,一个或以上的客操作系统(Guest Operating System,简称:Guest OS)在一个主操作系统(Host Operating...cgroups提供: 资源限制:组可以被设置不超过设定的内存限制;这也包括虚拟内存。 优先级:一些组可能会得到大量的CPU[5] 或磁盘IO吞吐量。...因为两个模式都支持所有的 ring,因此,客户机可以运行在它所需要的 ring 中(OS 运行在 ring 0 中,应用运行在 ring 3 中),VMM 也运行在其需要的 ring 中 (对 KVM...对 KVM 虚机来说,运行在 VMX Root Mode 下的 VMM 在需要执行 Guest OS 指令时执行 VMLAUNCH 指令将 CPU 转换到 VMX non-root mode,开始执行客户机代码...KVM 虚机包括虚拟内存、虚拟CPU和虚机 I/O设备,其中,内存和 CPU 的虚拟化由 KVM 内核模块负责实现,I/O 设备的虚拟化由 QEMU 负责实现。

    3.1K32

    Windows PHP 中 VC6 X86 和 VC9 X86 的区别及 Non Thread Safe 的意思

    PHP5.3以后 For Windows 提供了四个版本VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86...一、如何选择PHP5.3的VC9版本和VC6版本 VC6就是legacy Visual Studio 6 compiler,就是使用vs6编译的。...VC9就是the Visual Studio 2008 compiler,就是使用vs9编译的。 在Windows选择下载哪个版本的PHP呢?...如果你是在windows下使用Apache+PHP的,请选择VC6版本; 如果你是在windows下使用IIS+PHP的,请选择VC9版本。...ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程 序的执行效率,所以如果是以ISAPI来执行PHP,建议选择

    45810
    领券