Windows任务管理器原理+内存管理机密+揭穿内存优化工具的骗局
原文:The Memory-Optimization Hoax:RAM optimizers make false promises
作者:Mark Russinovich
译者:
盆盆  http://markwin.blog.51cto.com/148406/91907
 
我们在浏览网页时,也许会经常看到一些弹出广告,例如“整理内存碎片、提升系统性能”、或者“大大减少系统和程序崩溃的可能性,回收垃圾内存”等等。如果点击这些弹出广告链接,则会看到某些所谓的优化软件,声称只需花费9.95、14.95或者29.95美元,就可以轻松实现所有的功能。看上去,这些工具软件确实不错,但是实际上最好的情况,这些所谓的内存优化工具没有任何效用;而最差的情况,则可能会严重降低系统性能。
 
盆盆评注 在国内,广告语更加精彩,“让您的系统运行如飞”、“让Windows插翅能飞”,充分体现汉语的优越性。
 
市面上这些所谓的“内存优化工具”有很多—有些是商业软件,有些则是自由软件。可能我们已经在系统上安装了这些软件。这些软件到底能够起什么作用?它们是怎样试图愚弄我们,让我们误认为它们可以达到所承诺的目的? 那就让我们一起好好分析一下内存优化程序的内部原理,看看它们如何让Windows内存计数器显示出诱人的结果。
 
用户界面
 
通常,内存优化工具会在用户界面上显示一个图形标签,以表明当前的可用内存,还会显示一个指示条,以表明当前设置的阈值,超过这个阈值,该工具就会开始行动(所谓的优化内存)。还有一个指示条,用来显示优化工具可以释放的内存容量。通常用户可以配置以上两种或者其中一种设置,还可以手动触发内存优化,或者设置计划任务。某些工具还会详细显示执行过程。
 
当执行内存优化的计划任务时,通常这些程序的可用内存计数器会上升,有时候还可以显示动态效果,给人的感觉好像是这些工具确实正在释放内存,以供我们的应用程序使用。要理解这些内存优化工具如何让可用内存的数字不断上升,我们必须理解Windows是如何管理物理内存的。
 
Windows内存管理
 
和大多数现代操作系统一样,Windows实现按需调页的虚拟内存机制。由于操作系统使用了虚拟内存,这就给应用程序造成了一个假象,以为计算机安装的内存远远超过自己所需要的数量。
 
在32位的Windows计算机上,进程具有4GB的虚拟内存地址空间,操作系统通常会把这4GB的地址空间划分为进程和系统两个部分。因此,每个进程可以获得2GB的虚拟内存,根据可用的容量。分配给所有进程的虚拟内存总数不能超过页面文件和大多数物理内存的总和(操作系统本身也要占据一小部分物理内存)。
 
有了这种机制,加上足够大的页面文件,就可以给进程分配超过物理内存容量的虚拟内存,Windows内存管理子系统必须让多个进程和缓存的文件数据(由缓存管理器管理)共享物理内存。如图1所示,内存管理器给每个进程(例如Windows Explorer、记事本和Word)指派一部分物理内存,这叫做进程的工作集。可分页的内核和驱动程序部分,加上可分页的内核内存缓冲区(叫做分页池),还有缓存管理器所管理的物理内存,它们具有自己的工作集,叫做系统工作集。

图1
盆盆译注:可分页表示可以经过调页转移到页面文件上,以便空出可用内存供其他进程使用。但是有些重要部分是不可以进行分页的,例如内存管理器本身就不能分页,还有凭据缓存里的重要凭据信息(例如长期密钥、Kerberos票据等)都不能进行分页。 
工作集就是进程在物理内存中的部分,可以用一个队列(数据结构)来表示。也就是说如果进程访问的页在工作集里,就不会发生页面错误事件。话反过来说,如果进程所需访问的页不在工作集中,就必须进行分页操作。
 
内存管理器可以扩展或者缩短系统和进程的工作集,以便让进程可以快速访问其代码和数据。计算机的内存管理硬件设备要求Windows按照“页”的块级别来管理工作集和虚拟内存。在32位的x86处理器上,页通常是4096字节(4KB)。然而操作系统和其他需要大量访问内存的应用程序,也可以使用4MB的“页”,以便优化性能。
盆盆译注:为什么使用4MB的“页”可以优化性能?通过阅读《Windows Internals》第七章内存管理部分,我们可以了解到,Windows的内存管理采用TLB的硬件数据结构来缓存页表里的数据。如果采用4MB的页,由于总的页数比较少,TLB缓存中的项就不需要经常刷新,这样就不会由于TLB里没有缓存,而被迫到页表里读取地址,以增加性能。
但是为什么不默认采用4MB,而要采用4KB呢? 《Windows Internals》进一步提到,由于页需要采用保护机制,大的页面不利于设置更细微的保护粒度。例如在4MB的数据中,一部分需要只读访问,另一部分需要读写访问,则整个页只能设置为读写访问。
 
如果进程所访问的虚拟内存页不在工作集中,进程就会触发一个页面错误的硬件异常。如果发生这种情况,内存管理器会分配一个可用的物理内存页,以存放最近访问的数据。另外,内存管理器可能会给进程工作集添加新的页,以扩展进程的工作集。然而,如果内存管理器认为进程的工作集已经足够大了,它就会把工作集中的一个页调出去,以便腾出空间存放新的页。替换的策略是选择进程最近最少访问的页,这主要是假设进程在未来访问该页的可能性很小。
 
当内存管理器把页从进程的工作集中移走,它必须决定应该怎样处理这个页。如果该页已经修改过了,内存管理器会首先把它放到已修改列表中,这个列表中的页最终会写入到页面文件,或者写入这些页所对应的内存映射文件中。内存管理器会把页从已修改列表移动到备用列表中。未修改的页会直接移动到备用列表中。所以,我们可以把备用列表看成是文件数据的缓存。
盆盆译注:总结一下,当进程的工作集已满,想要访问新的页,则必须把老的页移走。这些老的页,如果已经修改过,则会移动到已修改列表,如果没有修改过,则会移动到备用列表。
到现在为止,物理内存的两个列表(数据结构)已经出来了,一个是备用列表,另一个是已修改列表。
 
可用内存
 
在本文的前面部分,曾经提到发生页面错误时,内存管理器会给进程提供一个可用的物理内存页,但是还没有讨论什么叫做可用内存。物理内存中的备用列表就是内存管理器所认为的一部分可用内存。其他一部分可用内存,它们的页所包含的数据属于已释放的虚拟内存(例如这些页包含已退出进程的数据);还有一部分可用内存,包含刚被释放的页,这些页随后会被内存管理器的低优先级页清零线程用全零来填充。这些类型的页分别保存在内存管理器的自由列表和清零页列表中。
盆盆译注:物理内存的另外两个列表(数据结构)自由列表和清零页列表。可用内存由三部分(三个数据结构)组成:备用列表、自由列表和清零页列表,正如图1所示的那样。
 
图2显示了工作集和这些页列表之间的转化。系统线程每秒钟唤醒一次,调用内存管理器的工作集管理程序,对系统和进程工作集进行分析。如果发现可用内存很低,工作集管理程序就会挑选一些进程,这些进程在过去的一秒钟里页面错误发生率最低,然后从它们的工作集中移走一些页。这些移走的页会转移到已修改列表或者备用列表(还记得盆盆前面的注释吧),这样就可以腾出可用内存了(盆盆译注:其实只有备用列表里的部分,才算是可用内存)。这种协调机制的其中一个重要的副作用是:如果系统需要为其他进程分配内存,内存管理器会从空闲进程的工作集中抽取内存页。所以,空闲进程的工作集会最终消失,这意味着,如果进程长时间处于空闲状态,那么最终它们将不会占据任何物理内存。

图2 盆盆汉化 版权所有
 
如果进程需要请求新的物理内存页,内存管理器首先会查看该页是不是位于备用列表或者已修改页列表。如果该页曾经从进程工作集中移走,并且没有因为其他目的而被其他进程重新使用,那么该页应该还在这两个列表里(盆盆译注:就是指备用列表或者已修改列表)。把内存页重新拿回,并放到进程的工作集中,这叫做软页面错误,因为和这硬页面错误不一样,软页面错误不需要从硬盘的页面文件或者其他文件中读入数据。
如果所需请求的内存页并不在备用列表或者已修改列表中,内存管理器就会从某个列表上摘取一页,首先会检查自由列表,然后是清零页列表,最后是备用列表(盆盆译注:这也再次说明了,可用内存由这三部分组成)。如果可用内存不够,内存管理器会触发平衡集管理器,来调整进程的工作集,以便生成上述的三个列表,从而获得可用内存。如果内存管理器不得不从自由列表、备用列表或者清零页列表中移除内存页,以便重新使用,它会确定如何访问目标代码或者数据,这会导致从页面文件或者进程映像文件中读取数据,或者创建由零填充的数据—如果应用程序需要分配新的数据,而且所获得的内存页并不是取自清零页列表(盆盆译注:如果是从清零页列表中获取的页,则无需再由零填充,因为本来就已经清零了)。
 
创建可用内存
 
理解了内存管理器的行为,现在我们可以把目光转向内存优化工具的行为。内存优化工具所显示的可用内存数值,等同于任务管理器的“性能”标签页上所显示的“可用数”,如图3所示。可用内存的数值是备用列表、自由列表和清零页列表这三个数值的相加。而系统缓存,则是备用列表和系统工作集这两个数值的相加。在Windows NT 4.0和以前的版本,文件缓存则只等于系统工作集的大小。

图3 盆盆制作 版权所有
盆盆译注:这部分的内容很好地解释了任务管理器“性能”标签页里的术语,什么叫做可用内存,什么叫做系统缓存。
 
内存管理器可以分配、然后释放一大块虚拟内存,内存优化工具正是利用了内存管理器的这一特点。内存优化工具的作用如图4所示。最上方的条状图显示优化之前的工作集和可用内存。中间的条状图显示内存优化工具(RAM optimizer)发出大内存的请求,在极短的时间里产生大量的页面错误。作为回应,内存管理器会增加内存优化工具的工作集。这种工作集的扩展是以牺牲可用内存作为代价—这时候可用内存会变得很低—同时以减少其他进程的工作集作为代价。最下方的条状图显示,内存优化工具会释放内存,内存管理器会把所有的内存页从它的工作集中转移到自由列表中,所以可用内存会大大增加。绝大多数的内存优化工具隐藏了第一阶段中可用内存急剧下降的事实,但是如果我们在优化的时候启动任务管理器,就可以看到可用内存在最初会急剧下降。

图4
 
尽管从表面上来看,可用内存越多越好,其实不然。内存优化工具虽然使得可用内存数大大增加,但是它们会强迫其他进程的数据和代码交换出内存。假设我们正在运行Word,当内存优化工具强制增加可用内存时,Word的打开文档和程序代码原本是在内存中(工作集),结果不得不从磁盘中重新读入,我们才能继续编辑文档。在服务器上,这种性能的损失将会变得非常严重,这是因为缓存在备用列表和系统工作集中的文件数据(还有活动服务端进程所拥有的代码和数据)很可能会丢失。
盆盆译注:所谓的内存优化工具,是以牺牲其他进程的性能作为代价,同时还会导致系统重要进程的代码和数据交换到磁盘,对于总体性能来说,得不偿失。Windows Vista的内存管理,并没有强调可用内存足够多,而是确保内存里包含正确的内容,这样才能尽可能地减少磁盘I/O,提升整体的用户体验。
 
其他的宣传功效
 
一些厂商宣传他们的内存优化产品还具有其他一些功能。例如该优化工具可以把一些无用进程所占据的内存释放出来,例如运行在任务栏通知区域上的进程。这些所谓的功效都是不正确的,因为Windows已经自动调整了空闲进程的工作集。内存管理器已经具有所有必需的内存优化功能。
盆盆译注:盆盆在Windows Vista做实验,证实了Mark Russinovich的说法。以Daemon Tool为例,平时空闲的时候,其工作集只有3MB左右(专用工作集只有350KB),而当打开其配置界面时(使其不处于空闲状态时),其工作集达到10MB左右(专用工作集也达到约3MB)。如图5所示,绿色部分代表空闲时的工作集,而紫色部分代表活动时(Active)的工作集大小。另外要注意,Windows Vista中文版的翻译有误,Working Set,不能翻译为工作设置,而应该是工作集

图5 盆盆制作 版权所有
 
内存优化工具的开发者抛出的另外一个谬论,就是他们的产品可以对内存碎片进行整理。 分配一大块虚拟内存,然后再释放,也许会生成一大片物理连续的可用内存。然而,由于虚拟内存对进程屏蔽了物理内存的布局,进程不能直接从虚拟内存(由连续的物理内存所提供)中得益。当进程运行时,由于工作集的调整和扩展,虽然有一大片连续的可用内存,但是进程的虚拟内存到物理内存的映射,还是会产生很多碎片。
获得连续的可用内存,对以下情况是有利的:
当内存管理器希望能够最大化CPU高速缓存的效率时,会采用一种叫做“页面染色”(Page Coloring)的机制,以确定从自由列表(或清零页列表)中把哪些内存页分配给进程。
尽管如此,虽然获得连续的可用内存,可以获得一点好处,但是这种好处要以把有用的代码和数据移出内存作为代价,是得不偿失的。
盆盆译注:为了进一步了解什么叫做“页面染色”机制,盆盆费心在网上搜索不少资料,终于了解到以下的背景资料(经过缩写):
为了确保在进程上下文切换时,CPU高速缓存里的内容不受影响,现代CPU的L1 Cache会对物理内存页进行缓存,而不是缓存虚拟内存页(否则的话,上下文切换时,必须刷新缓存中的内容,导致缓存性能急剧下降)。这就要求相邻的虚拟内存页最好分配相邻的物理内存页,以获得最好的L1 Cache性能。
更具体的内容,可以参考
这篇文档
 
最后,软件开发商宣传他们的内存优化工具可以重新获取因泄漏而丢失的内存。这种宣传可能是最虚假的说法。
 
在所有时刻,内存管理器都知道进程所拥有的物理内存和虚拟内存。然而,如果进程分配内存,但是由于Bug而无法释放内存(内存泄漏),内存管理器就可能无法了解这些已分配的内存无法重新访问,而必须等到进程退出时回收内存。 
 
哪怕产生内存泄漏的进程无法退出,内存管理器的工作集调整机制也会最终从进程的工作集中“盗取”所有的物理页(分配给泄漏的虚拟内存)。该进程会把泄漏的虚拟页发送到页面文件,这样系统就可以腾出物理内存挪作它用。所以对可用物理内存来说,内存泄漏只有有限的影响。真正的影响在于虚拟内存的消耗(在任务管理器中叫做PF使用率和提交更改,如图3所示)。没有任何工具可以解决这种虚拟内存的消耗,除非杀死消耗内存的进程。
 
欺诈软件
 
笔者(Mark Russinovich)还在寻找能够实践其承诺的内存优化工具。如果仔细查看,我们会经常发现开发商会在其网站上隐藏着冗长的免责声明,其中包括本文所述的内容—该产品可能对系统性能没有什么影响,甚至可能导致性能下降。甚至无需知道这些产品是如何借助内存管理器来实现其具有明显视觉效果、具有煽情名字的内存管理机制,只要用正常思维就可以明白如果这种内存优化机制是可行的话(而且那么多三流厂商都可以实现),微软的开发工程师早就应该在内核里实现这种功能。
盆盆译注:说实话,国外的厂商还算是讲点道义,毕竟还提供一些免责声明。看看国内的情况,骗子太多了,例如让人哭笑不得的“智慧星”,还有无孔不入的抄袭者,不提也罢~~ 
 
原文信息
 
本文的英文原版刊发在2004年一月刊的《Windows IT Pro Magzine》上,地址如下。但是由于该文需要访问权限,所以盆盆特地将其全文翻译,共享给大家。
http://www.windowsitpro.com/Articles/ArticleID/41095/41095.html
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. C++ 写贪吃蛇 简易的贪吃蛇源码【加入新模式:人机对战】 简单易懂 画面精美

    C++ 贪吃蛇文章目录C++ 贪吃蛇all.h最初版(1.0.0)最新版(1.2.0)exe文件下载**喜欢就加个关注吧!** 我们先思考贪吃蛇如何运作: 无非就四种情况画蛇 直行 转弯 吃到食物有些人可能写出来的程序是一闪一闪的,很难看。因为多次清屏的缘故,画蛇其实不用每次清屏画蛇。 其实完全…...

    2024/5/8 18:26:03
  2. android 调用系统邮件 发送邮件到指定邮箱

    项目中需求如下:在项目中,最后有一个联络我们,要求是点击号码还有邮箱地址能够发送邮件,这时候解决的方案其实有两种,一种是调用系统发邮件的软件,可以添加邮箱账号就可以发送邮件;第二种是使用javamail来发送邮件。在网上各种的百度,还有测试,发现都发送不了邮件,也…...

    2024/4/20 15:30:20
  3. Oracle中字符串截取最全方法总结

    substr 函数:截取字符串语法:SUBSTR(string,start, [length])string:表示源字符串,即要截取的字符串。start:开始位置,从1开始查找。如果start是负数,则从string字符串末尾开始算起。length:可选项,表示截取字符串长度。示例:SELECT SUBSTR(Hello SQL!, 1) FROM du…...

    2024/4/19 13:06:15
  4. TCP三次握手和backlog参数

    1 三次握手TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP窗口大小信息。为什么非要三次握手呢?…...

    2024/4/17 17:47:41
  5. 内存溢出分析工具MAT实战(一)JVM启动参数分析

    在工作的过程中,有时我们会遇到内存溢出的问题,这时候就需要我们有足够的知识积累去解决内存溢出相关问题。本文章是建立在读者了解java的内存结构的基础上。关于内存分析工具,mat是非常实用的一款内存分析工具,下面我们针对实际情况对其进行介绍。一、获取分析文件一般我们…...

    2024/5/8 15:38:34
  6. 内存泄漏排查 MAT工具使用

    説在前面:尽管Java虚拟机可以帮我们对内存进行回收,但是其回收的是Java虚拟机不再引用的对象。很多时候我们使用系统的IO流,Cursor,Receiver如果不及时释放,就会导致内存泄漏,这些场景是常见的,一般开发人员也都能够避免。但是,很多时候内存泄漏的现象不是很明显,1.比…...

    2024/5/8 20:14:21
  7. TCP三次握手原因

    众所周知,TCP建立连接时,需通过三次确认。第一次第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),…...

    2024/5/8 13:40:11
  8. python_猜年龄游戏代码

    前提是进行三次猜年龄 案例一:guess_age=2#三次 判断 num = 0 while num<3:#请输入年龄age=int(input("请输入年龄"))# 判断年龄if guess_age>age:print ("你猜小了")elif guess_age<age:print ("你猜大了")else:print("恭喜你回…...

    2024/5/6 7:33:36
  9. vc 贪吃蛇游戏源代码(转载)

    一个很好的理解内存dc的小例子。 代码不多,注释详尽。附件:http://down.51cto.com/data/2350540本文转自 xchsp 51CTO博客,原文链接:http://blog.51cto.com/freebird/97586,如需转载请自行联系原作者...

    2024/5/4 1:47:40
  10. TCP三次握手报文 实例详解&&syn flood C/C++ 完整代码实现

    在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手: 建立连接时,客户端发送syn包到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。 第二次握手: 服务器收到syn包,必须确认客户的SYN,…...

    2024/4/17 17:48:16
  11. Python写2048小游戏全部代码及所用图片

    游戏效果游戏用到的图片数字图片都是90像素的正方形游戏代码 2048.py(游戏主模块) import pygame from settings import Settings import game_body as gb import 算法 as sfnums = [[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0]] def run_game():set = Settings()p…...

    2024/5/4 11:46:16
  12. android-【DDMS->heap】工具-内存检测工具(内存泄露的检测工具)

    Heap监测应用进程-内存使用情况1. 启动eclipse后,切换到DDMS透视图,并确认Devices视图、Heap视图都是打开的;2. 将手机通过USB链接至电脑,链接时需要确认手机是处于“USB调试”模式,而不是作为“Mass Storage”;3. 链接成功后,在DDMS的Devices视图中将会显示手机设备的序…...

    2024/4/28 18:01:38
  13. Thinkphp 截取字符串和判断字符串长度

    {$ko.content|substr=0,226}<if condition="mb_strlen($ko[content],utf-8) egt 226"> 。。。 <else /> </if>...

    2024/4/28 5:26:23
  14. 搭建自己的域名邮箱

    1.首选你要有一个自己的域名,比如阿里云申请。 2.打开腾讯企业邮箱网址,点击新用户注册或立即开通。一般和微信绑定 3.选择免费版,自助开通 4.填写注册信息,创建管理账号 5.添加企业域名。再到阿里云的控制面板里添加两条mx记录。 6.在企业邮箱里面新建用户,比如xxx@examp…...

    2024/4/28 22:45:14
  15. 简述TCP的三次握手过程

    TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接. 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize Sequence Numbers) 第二次握手:服务器收到syn包,必须确认客…...

    2024/4/27 21:35:25
  16. 揪出占用磁盘空间的真凶!介绍一个好用的磁盘空间分析清理工具

    电脑最近系统盘又告警变红了,50G的空间已经用去了48G,使用了各种清理工具都不能清理出更大空间。我向一位前辈讨教时,他介绍了一个工具给我:SpaceSniffer.SpaceSniffers是个磁盘空间分析工具,它能将磁盘上各个文件夹大小进行整理,让我们看到哪些文件夹占用了空间。使用起…...

    2024/4/28 11:20:26
  17. 棋牌游戏代码

    一套棋牌游戏代码 升级四国军棋炒地皮拱猪象棋围棋斗地主510K憋七跑得快双扣梭哈锄大地十堰麻将 开发语言:VC2003 DATABASE:Access/Sql Server 联系方式:QQ: 451577317 MSN: dengfengyang@hotmail.com tel: 137-6436-1143...

    2024/4/28 23:18:43
  18. C++ string类型的字符串长度获取的三种方法

    (1).用string的成员方法length()获取字符串长度 length()比较直观,表示的就是该字符串的长度。#include <string> #include <iostream> using namespace std; int main() { string str = "my string"; cout << str.length() << en…...

    2024/4/28 15:20:23
  19. 基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式--java邮件系统

    米林(ljg)邮箱使用说明 java邮件系统系统源代码下载地址:http://download.csdn.net/detail/afgasdg/3681707系统整体下载地址(包含源代码,邮件服务器配置,邮件服务器):http://download.csdn.net/detail/afgasdg/4269705一、 环境配置本系统需要的环境:apa…...

    2024/4/28 23:09:56
  20. PHP中获取字符串的长度

    strlen()如果执行成功则会返回字符串的长度,如果括号中为空值则返回0<?php $str = abcdefghijk; $len = strlen($str); echo $len; //输出的结果是11 因为$str中字符串的长度是11个字符<?php $str = ; $len = strlen($str); echo $len; //返回的结果是0 (***空…...

    2024/4/28 0:05:30

最新文章

  1. Springboot 单体thymeleaf极简门户网站

    企业门户网站&#xff0c;基于Springboot和layui 1、原介绍 使用技术&#xff1a;后端框架&#xff1a;SpringBoot&#xff0c;Mybatisplus ### 数据库&#xff1a;MySQL,redis ## 前端框架&#xff1a;Layui ## 权限框架&#xff1a;shiro ## 网页模板引擎&#xff1a;thyme…...

    2024/5/9 0:39:23
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. 【GIS学习笔记】polygon和multipolygon的转换

    写得比较全的polygon和multipolygon的介绍&#xff1a; https://www.cnblogs.com/billygisboy/p/17415573.html 从文本文件上看二者的区别就是"type":"Polygon"和"type":"MultiPolygon"&#xff0c;以及MultiPolygon多一层[]或()。 …...

    2024/5/3 2:06:35
  4. 汽车统一诊断服务UDS协议参考文章和视频

    UDS基础知识介绍-电子发烧友网 【图解UDS】UDS汽车诊断标准协议&#xff08;ISO14229&#xff09;带你入门到精通-有驾 车载测试之UDS诊断协议9&#xff1a;0x27服务&#xff1a;解锁ECU_哔哩哔哩_bilibili UDS诊断的22服务&#xff08;DID读取数据&#xff09;和2E服务&…...

    2024/5/5 4:34:45
  5. 探索进程控制第一弹(进程终止、进程等待)

    文章目录 进程创建初识fork函数fork函数返回值fork常规用法fork调用失败的原因 写时拷贝进程终止进程终止是在做什么&#xff1f;进程终止的情况代码跑完&#xff0c;结果正确/不正确代码异常终止 如何终止 进程等待概述进程等待方法wait方法waitpid 进程创建 初识fork函数 在…...

    2024/5/5 1:11:34
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/8 6:01:22
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/7 9:45:25
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/7 14:25:14
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/7 11:36:39
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/8 20:48:49
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/7 9:26:26
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/8 19:33:07
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/8 20:38:49
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/6 21:42:42
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57