一次“内存泄露”引发的血案
2017年末,手Q春节红包项目期间,为保障活动期间服务正常稳定,我对性能不佳的Ark Server进行了改造和重写。重编发布一段时间后,结果发现新发布的Svr的机器内存一直在上涨。如下图示:
观察后,第一反应是完了,一定存在内存泄露。花了3、4天时间,使用各种办法进行定位,一无所获。
后来无意中在SPP日志中发现了端倪,日志中一直打印tcp socket[%d] user check pkg not ok, but no more memory,看代码逻辑,是收包缓冲区太小,导致调用方不断使用new操作来扩充缓冲区,我仔细检查了下调用方的代码逻辑,使用的是SPP微线程架构,收包缓冲区是一个Msg的局部变量,在Msg析构时,都会调用delete,换而言之,这里绝不可能存在内存泄露。
既然不存在内存泄露,内存为什么会一直涨呢?按照
上图来看,内存在1天内涨了1G左右,这个速度也太可怕了吧。既然唯一的线索在内存分配操作new
和delete
上,那么只可能是这里有猫腻。
网上搜索了下delete not return memory
,果然说来话长啊。下面我们就来回顾下C++程序中的内存管理机制
物理内存、虚拟内存
物理内存好说,就是机器的真实内存,你机器是多大内存条,物理内存就多大。虚拟内存(虚拟地址空间)是一个逻辑概念,32bit下每个进程都有4G虚拟地址空间,而且每个进程间的地址空间相互独立。
从进程的角度来说,每个进程均认为自己独享整个内存空间(4G)。进程空间分布如下图:
如上图示:最高的1G空间保留给内核使用。接下来是栈,栈向低地址方向延伸(栈的大小受RLIMIT_STACK限制,默认为8M),下面是MMAP区(文件映射内存,如动态库等,SPP微线程的私有栈也位于这里)下面是堆(动态内存增长),堆向高地址方向延伸,接下来依次是BSS、数据段、代码段。
需要注意的一点是:上面所说的都是虚拟内存。只有在真正使用到这片内存空间时,才会涉及到物理内存页的分配等(内核管理,页错误)。
Linux下动态内存分配实现机制
C、C++的动态内存分配、管理都是基于malloc和free的,动态内存即虚拟空间堆区。另外多说一句,malloc和free操作的也是虚拟地址空间。
malloc,动态内存分配函数。是通过brk(sbrk)和mmap这两个系统调用实现的。
结合上文进程虚拟空间图,brk(sbrk)是将数据段(.data)的最高地址指针_edata往高地址推。mmap是在进程的虚拟地址空间中(堆和栈中间,称为文件映射区域的地方)找一块空闲的虚拟内存。这两种实现方式的区别大致如下:
1.brk(sbrk),性能损耗少;mmap相对而言,性能损耗大
2.mmap不存在内存碎片(是物理页对齐的,整页映射和释放);brk(sbrk)可能存在内存碎片(由于new和delete的顺序不同,可能存在空洞,又称为碎片)
无论是通过brk(sbrk)还是mmap调用分配的内存都是虚拟空间的内存,只有在第一次访问已分配的虚拟地址空间的时候,发生缺页终端,操作系统负责分配物理内存,然后建立虚拟内存和物理内存之间的映射关系。
delete,动态内存释放函数。如果是brk(sbrk)分配的内存,直接调用brk(sbrk)并传入负数,即可缩小Heap区的大小;如果是mmap分配的内存,调用munmap归还内存。无论这两种那种处理方式,都会立即缩减进程虚拟地址空间,并归还未使用的物理内存给操作系统。
brk(sbrk)和mmap都是系统调用,如果程序中频繁的进行内存的扩张和收缩,每次都直接调用,当然可以实现内存精确管理的目的,但是随之而来的性能损耗也很显著。目前大多数运行库(glibc)等对内存管理做了一层封装,避免每次直接调用系统调用影响性能。如此,就设计到运行库的内存分配的算法问题了。
在标准C库中,提供了malloc/free函数分配释放内存,这两个函数底层是由brk,mmap,munmap这些系统调用实现的。
如何查看进程发生缺页终端的次数?
用ps -o majflt,minflt -C program命令查看。
majflt代表major fault,中文名叫大错误,minflt代表minor fault,中文名叫小错误。这两个数值表示一个进程自启动以来所发生的缺页中断的次数。
发生缺页中断后,执行了哪些操作?
当一个进程发生缺页中断的时候,进程会陷入内核态,执行一下操作:
1、检察要访问的虚拟地址是否合法。
2、查找/分配一个物理页
3、填充物理页内容(读取磁盘,或者直接置0,或者啥也不干)
4、建立映射关系(虚拟地址到物理地址)
重新执行发生缺页终端的那条指令
如果第三步,需要读取磁盘,那么这次缺页中断就是majflt,否则就是minflt。
查看物理内存使用情况: cat /proc/$PID/smaps,里面详细记录了该进程使用的物理页内存情况,如Private_Dirty、Private_Clean等
mmap系统调用:读写MMAP映射区,相当于读写被映射的文件。本意是将文件当做内存一样读写。相比Read、Write,减少了内存拷贝(Read、Write一个硬盘文件,需要先将数据从内核缓冲区拷贝到应用缓冲区(read),然后再将数据从应用缓冲区拷贝回内核缓冲区(write)。mmap直接将数据从内核缓冲区映射拷贝到另一个内核缓冲区),但是被修改的数据从MMAP区同步到磁盘文件上,依赖于系统的页管理算法,默认hi慢条斯理的将内容写到磁盘上。另外提供了msync强制同步到磁盘上。
Glibc内存分配算法
glibc的内存分配算法,是基于dlmalloc实现的ptmalloc,dlmalloc详细可以参考A Memory Allocator或者我之前的文章Glibc内存分配器。这里主要讲下和内存归还策略相关的,其他内容不做过多扩展。
整体来说,glibc采用的是dlmalloc。为了避免频繁调用系统调用,它内部维护了一个内存池,方便reuse,又称为free-list或bins,如下图所示:
所有调用delete释放的内存,并不是立即调用brk(sbrk)归还给操作系统,而是先将这个内存块挂在free-list(bins)里面,然后进行内存归并(可选操作,相邻的可用内存块合并为更大的可用内存块),并检查是否达到malloc_trim的threshhold,如果达到了,则调用malloc_trim归还部分可用内存给操作系统。
glibc中,设置了默认进行malloc_trim的threshhold为128K,也就是说当dlmalloc管理的内存池中最大可用内存>128K时,就会执行malloc_trim操作,归还部分内存给操作系统;而在可用内存<=128K时,及时程序中delete了这部分内存,这些内存也是不归还给操作系统的。表现为:调用delete之后,进程占用的内存并没有减少。
另外,部分glibc的默认设置如下:
DEFAULT_MXFAST 64 (for 32bit), 128(for 64bit) //free-list(fastbin)最大内存块
DEFAULT_TRIM_THRESHOLD 128 * 1024 // malloc_trim的门槛值 128k
DEFAULT_TOP_PAD 0
DEFAULT_MMAP_THRESHOLD 128 * 1024 // 使用mmap分配内存的门槛值 128k
DEFAULT_MMAP_MAX 65536 // mmap的最大数量
这些参数都可以通过mallopt进行调整。
malloc_trim(0)可以立即执行trim操作,将内存还给操作系统。
具体fastbin相关的内容,此处不做介绍,前期有很多基于fastbin的堆溢出攻击,感兴趣的同学可以google关键字fastbin搜索下。
测试:
1.循环new分配64K * 2048的内存空间,写入脏数据后,循环调用delete释放。top看进程依然使用131M内存,没有释放。 ---- 此时用brk
2.循环new分配128K * 2048的内存空间,写入脏数据后,循环调用delete释放。top看进程使用,2960字节内存,完全释放。 ----此时用mmap
3.设置M_MMAP_THRESHOLD 256k, 循环new分配128k * 2048的内存空间,写入脏数据后,循环调用delete释放,而后调用malloc_trim(0).top看进程使用,2348字节,完全释放。 ----此时用brk
64k Delete前内存占用:
64k Delete后内存占用:
128k Delete前内存占用:
128k Delete后内存占用:
测试代码如下:
int main(int argc, char *argv[])
{mallopt(M_MMAP_THRESHOLD, 256*1024);//mallopt(M_TRIM_THRESHOLD, 64*1024);//MemoryLeakint MEMORY_SIZE = hydra::CTrans::STOI(argv[1]);vector<char *> Array;for (int j=0; j<2064; j++) {char *Buff = new char[MEMORY_SIZE];for (int i=0; i<MEMORY_SIZE; i++) Buff[i] = i;Array.push_back(Buff);}sleep(10);for (int j=0; j<2065; j++) delete []Array[j];cout << "Delete All" << endl;//sleep(10);//malloc_trim(0);//cout << "strim" << endl;while(1) sleep(10);
}
一个例子来说明内存分配的原理
情况下、malloc小于128k的内存,使用brk分配内存,将_edata往高地址推(只分配虚拟空间,不对应物理内存(因此没有初始化),第一次读/写数据时,引起内核缺页中断,内核才分配对应的物理内存,然后虚拟地址空间建立映射关系),如下图:
1.进程启动的时候,其(虚拟)内存空间的初始布局如图1所示。
其中,mmap内存映射文件是在堆和栈的中间(例如libc-2.2.93.so,其他数据文件等),为了简单起见,省略了内存映射文件。
_edata指针(glibc里面定义)指向数据段的最高地址。
2.进程调用A=malloc(30k以后,内存空间如图2:
malloc调用会调用brk系统调用,将_edata指针往高地址推30K,就完成虚拟内存分配。
你可能会问:只要把_edata+30K就完成内存分配了?
事实是这样的,_edata_30K只是完成虚拟地址的分配,A这块内存现在还是没有物理页与之对应的,等到进程第一次读写A这块内存的时候,发生缺页中断,这个时候,内核才分配A这块内存对应的物理页。也就是说,如果用malloc分配了A这块内容,然后从来不访问它,那么,A对应的物理页是不会被分配的。
3.进程调用B=malloc(40K)以后,内存空间如图3.
情况二、malloc大于128k的内存,使用mmap分配内存,在堆和栈之间找一块空闲内存分配(对应独立内存,而且初始化为0),如下图:
4.进程调用C=malloc(200K)以后,内存空间如图4:
默认情况下,malloc函数分配内存,如果请求内存大于128k(可由M_MAP_THRESHOLD选项调节),那就不是去推_edata指针了,而是利用mmap系统调用,从堆和栈的中间分配一块虚拟内存。
这样子做主要是因为::brk分配的内存需要等到高地址内存释放以后才能释放(例如,在B释放之前,A是不可能释放的,这就是内存碎片产生的原因,什么时候紧缩看下面),而mmap分配的内存可以单独释放。
当然,还有其他的好处,也有坏处,再具体下去,有兴趣的同学可以去看glibc里面malloc的代码了。
5.进程调用D=malloc(100K)以后,内存空间如图5;
6.进程调用free(C)以后,C对应的虚拟内存和物理内存一起释放。
7.进程调用free(B)以后,如图7所示:
B对应的虚拟内存和物理内存都没有释放,因为只有一个_edata指针,如果往回推,那么D这块内存怎么办呢?当然,B这块内存,是可以重用的,如果这个时候再来一个40K的请求,那么malloc很可能就把B这块内存返回回去了。
8.进程调用free(D)以后,如图8所示:
B和D连接起来,变成了一块140K的空闲内存。
9.默认情况下:
当最高地址空闲的空闲内存超过128K(可由M_TRIM_THRESHOLD选项调节)时,执行内存紧缩操作(trim)。在上一个步骤free的时候,发现最高地址空闲内存超过128K,于是内存紧缩,变成图9所示。
结论
简单来说,文章开头内存不断增长的趋势的根本原因是:glibc在利用操作系统的内存构建进程自身的内存池。由于进程本身处理请求量大,频繁调用new和delete,在一段时间内,进程不断的从操作系统获取内存来满足新增的调用要求,但是从最终结果上来将,总有一个临界点,使得进程从操作系统新获取的内存和归还操作系统的内存达成相对平衡。在这个动态平衡建立前,内存会不断增长,直到到达临界点。
按照这里理论,机器内存应该先涨后平。我们看下几天后,机器的内存趋势图:
可以看出,在系统内存增长到3.7G左右时,整个机器的内存处于动态平衡的阶段,不再显著增长。由此验证,我们的推断是正确的。
经验
遇到如文章开头所说的那种内存不断增长的情况,不要轻易断定内存泄漏,先观察一段时间再说。很可能是上文分析的原因。
参考文章
- A Memory Allocator(dlmalloc, glibc)
- Free/Delete Not Returning Memory To OS?
- Does calling free or delete ever release memory back to the “system”
- How is malloc() implemented internally? [duplicate]
- How do malloc() and free() work?
- 浅析Linux堆溢出之fastbin
- Unix环境高级编程
- 内存分配的原理__进程分配内存有两种方式,分别由两个系统调用完成:brk和mmap(不考虑共享内存)
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- ESlint语法检查简单配置
在项目根目录里,创建以 .eslintrc.* 的文件名 module.exports = {root: true,parser: babel-eslint,parserOptions: {//设置"script"(默认)或"module"如果你的代码是在ECMAScript中的模块。sourceType: module,parser: babel-eslint,ecmaFeatures: {le…...
2024/4/28 20:13:03 - 小视频系统源码H5 直播起航
一、视频流协议HLS与RTMPHTTP Live Streaming 加粗样式HTTP Live Streaming(简称 HLS)是一个基于 HTTP 的视频流协议,由 Apple 公司实现,Mac OS 上的 QuickTime、Safari 以及 iOS 上的 Safari 都能很好的支持 HLS,高版本 Android 也增加了对 HLS 的支持。一些常见的客户端…...
2024/4/27 12:42:03 - HashMap 源码分析
图解红黑树红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树。 红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键值,小于等于右孩子的键值。 除了具备该特性之外,红黑树还包括许多额外的信息。 红黑树的…...
2024/4/28 17:26:08 - java制作坦克大战
//存储数据 package testdata; public class Node {private int coordX;//x坐标位置private int coordY;//y坐标位置private int dir;//方向private int speed;//速度private int atk;//攻击力private int boold;//血量private boolean isattack;//是否可以攻击private String …...
2024/4/28 20:07:10 - Linux 后端(node)基本环境安装
linux作为服务器的优点:1、稳定性2、性能3、易用性4、网络性能、安全性、可管理性5、网络兼容性6、用户和系统管理能力购买阿里云服务器之后,重置实例密码,之后需要重启服务器,用root+密码进程登陆。(远程登陆密码和实例密码不是一个密码,区分清)查看系统cpu信息:cat /…...
2024/4/28 14:51:04 - Python对象自省——运行时判断对象的类型
简介 自省(introspection)指在运行时判断一个对象的类型 Python中一切都是对象,自省是Python的强项 通过自省可以知道一个对象的能力、状态type() type()返回对象类型 a = list() print(type(a)) # <class list>dir() dir()是自省的一个重要函数,返回列表,列出对象所拥…...
2024/4/27 22:07:05 - 02-完善迭代器
03-自己实现一个可以迭代的对象demo:from collections import Iterablefrom collections import Iteratorclass Classmate(object):def __init__(self):self.names = []def add(self, name):self.names.append(name)def __iter__(self):“””如果想要一个对象成为一个 可迭代对…...
2024/4/28 12:42:14 - [转载] 解决方案:VS2017 无法打开源文件 stdio.h main.h 等头文件
亲测得到解决;不过也有其他可能原因造成这个问题, 问题描述: 在VS2017中运行解决方案是有错误:“E1696 无法打开 源 文件 “stdio.h” ”…原因: 这种问题一般发生在该项目代码是在网上下载而来的情况,或者电脑重装新的系统等情况,导致电脑系统与该项目生成时所采用的wi…...
2024/4/28 5:32:55 - 单例模式(Singleton)和 多例模式(Multiton)
参考:https://www.phpmianshi.com/?id=461、概念简单说来,单例模式的作用就是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个,同时这个类还必须提供一个访问该类的全局访问点。 常见使用实例:数据库连接器;日志记录器(如果有多种用途使用多例…...
2024/4/28 2:44:48 - 总结:iOS中多线程的经典崩溃
前言 iOS崩溃是让iOS开发人员比较头痛的事情,app崩溃了,说明代码写的有问题,这时如何快速定位到崩溃的地方很重要。调试阶段是比较容易找到出问题的地方的,但是已经上线的app并分析崩溃报告就比较麻烦了。 本文将给大家总结介绍关于iOS中多线程的一些经典崩溃,下面话不多说…...
2024/4/28 14:53:28 - C++的四种类型转换
const_cast:去掉(指针或引用 )常量属性的一个类型转换const int a = 10;int *p1 = (int *)&a;int *p2 = const_cast<int*>(&a);char *p3 = (char*)&a;//char *p4 = const_cast<char*>(&a);//double *p4 = const_cast<double*>(&a);在上…...
2024/4/15 3:07:27 - 使用JAXBContext将Xml转换成对象
做webservice的时候要解析xml,通过查找发先JAXB是可以解析xml并转换成对象的 @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name="标签名称", propOrder={属性名称}) @XmlRootElement public class OrderRequestMsgHeader {/***@XmlElement里面的name跟xml里面的…...
2024/4/28 18:46:46 - 西门子S7-300PLC通过以太网连接组态王KingSCADA软件
组态王软件作为常用的上位机SCADA软件,常用于系统集成的上位软件应用方案,常与西门子PLC控制系统通过以太网进行通讯和数据记录。组态王内置西门子以太网驱动通道,通过以太网通讯方式连接西门子PLC 的网口、CP343、或者第三方MPI转以太网模块等以太网接口。1、新建工程,填入…...
2024/4/28 2:37:55 - 我丢,创建了接口,没实现就给我报错~~~
报错信息长这样子,又臭又长,英文一塌糊塌的我只认出了那个自己写的”helloService”和经常见过的“could not be found” Description:A component required a bean of type cn.hello.service.HelloService that could not be found.Action:Consider defining a bean of type…...
2024/4/24 14:40:48 - Python在命令行如何调试?pdb调试解读
pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。 pdb 常用命令调试方法: 在代码中想要停驻的地方添加: pdb.set_trace() Python -m pdb (py文件…...
2024/4/24 14:40:47 - 创建底三层
打开vs先创建一个Web程序向里面添加底三层BLL层DAL层Model层且互相添加引用BLL引用DAL和ModelDAL引用ModelModel不需要引用...
2024/4/24 14:40:46 - EBS - 增加并发请求输出类型
概述主要用于不通过BI Publisher,来生成EXCEL输出文件Excel文件内容,需通过HTML语法画出步骤Step1.创建输出类型应用管理员->应用产品->代码->应用程序对象库->快码值【CP_OUTPUT_FILE_TYPE】因为该快码类型是系统级别,界面无法编辑,故从后台插入注意快码(loo…...
2024/4/24 14:40:45 - 基于OpenCV的车道线检测算法(Traditional Method)
https://zhuanlan.zhihu.com/p/60891432...
2024/4/24 14:40:45 - 你居然还去服务器上捞日志,搭个日志收集系统难道不香么!
摘要ELK日志收集系统进阶使用,本文主要讲解如何打造一个线上环境真实可用的日志收集系统。有了它,你就可以和去服务器上捞日志说再见了!ELK环境安装ELK是指Elasticsearch、Kibana、Logstash这三种服务搭建的日志收集系统,具体搭建方式可以参考《SpringBoot应用整合ELK实现日…...
2024/4/24 14:40:43 - 以“智变”应万变,揭秘新华三六大数字化解决方案!
数字化时代已来临。 在通信网络、社交媒介、基础建设不断演进的进程下,万物互联加速扩展,不仅从基础建设层面改变了人们生活方式,也激发了不少传统的企业开始重新思考原有运作的业务及商业模式,并纷纷投入数字化转型的浪潮中。 不过,虽然「生活就是变革,完美就是不断变化…...
2024/4/24 14:40:42
最新文章
- 数据结构与算法目录
1、基本认识 算法的复杂度和稳定性 链接:算法的复杂度和稳定性_o(1) < o(logn) < o(n) < o(nlogn) < o(n^2) < o(n^3)-CSDN博客Java的链表的创建、插入、修改、删除、查询等 链接:Java的链表的创建、插入、修改、删除、查询等_java链表查…...
2024/4/28 21:07:03 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - OpenHarmony开发-连接开发板调试应用
在 OpenHarmony 开发过程中,连接开发板进行应用调试是一个关键步骤,只有在真实的硬件环境下,我们才能测试出应用更多的潜在问题,以便后续我们进行优化。本文详细介绍了连接开发板调试 OpenHarmony 应用的操作步骤。 首先…...
2024/4/27 20:51:51 - WKWebView的使用
一、简介 在iOS中,WKWebView是WebKit框架提供的一个用于展示网页内容的控件,相比UIWebView有更好的性能和功能。 以下是在iOS中使用WKWebView的基本步骤: 1.1 导入WebKit框架 import WebKit1.2 创建WKWebView实例 let webView WKWebVie…...
2024/4/26 8:35:06 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/28 13:52:11 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/28 3:28:32 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/26 23:05:52 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/28 13:51:37 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/28 15:57:13 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/28 1:22:35 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/26 19:46:12 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/27 11:43:08 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/27 8:32:30 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) 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 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在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