文章目录

  • healthd log
  • log打印来源
  • log数据来源
  • power_supply实现
  • 参考

healthd log

android kernel log中会打印出如下healthd log,这些log是什么意思?来自哪里?这篇文章为你解读。

<12>[  191.726280] .(4)[418:health@2.0-serv]healthd: battery l=4 v=3575 t=30.0 h=2 st=3 c=-248 fc=2946000 cc=1 chg=
<12>[  191.753749] .(5)[418:health@2.0-serv]healthd: battery l=4 v=3567 t=30.0 h=2 st=3 c=-258 fc=2946000 cc=1 chg=
<12>[  195.114317] .(5)[418:health@2.0-serv]healthd: battery l=4 v=3667 t=30.0 h=2 st=2 c=446 fc=2946000 cc=1 chg=a
<12>[  195.122295] .(7)[418:health@2.0-serv]healthd: battery l=4 v=3667 t=30.0 h=2 st=2 c=406 fc=2946000 cc=1 chg=a
<12>[  195.149265] .(4)[418:health@2.0-serv]healthd: battery l=4 v=3667 t=30.0 h=2 st=2 c=407 fc=2946000 cc=1 chg=a
<12>[  195.151107] .(4)[418:health@2.0-serv]healthd: battery l=4 v=3652 t=30.0 h=2 st=2 c=304 fc=2946000 cc=1 chg=a
<12>[  195.162849] .(4)[418:health@2.0-serv]healthd: battery l=4 v=3647 t=30.0 h=2 st=2 c=299 fc=2946000 cc=1 chg=a
<12>[  200.414571] .(7)[418:health@2.0-serv]healthd: battery l=4 v=3572 t=30.0 h=2 st=3 c=-258 fc=2946000 cc=1 chg=
<12>[  200.417265] .(7)[418:health@2.0-serv]healthd: battery l=4 v=3572 t=30.0 h=2 st=3 c=-253 fc=2946000 cc=1 chg=
<12>[  200.420810] .(7)[418:health@2.0-serv]healthd: battery l=4 v=3572 t=30.0 h=2 st=3 c=-274 fc=2946000 cc=1 chg=
<12>[  203.755133] .(6)[418:health@2.0-serv]healthd: battery l=4 v=3806 t=30.0 h=2 st=3 c=1365 fc=2946000 cc=1 chg=
<12>[  203.994594] .(6)[418:health@2.0-serv]healthd: battery l=4 v=3606 t=30.0 h=2 st=2 c=-29 fc=2946000 cc=1 chg=a
<12>[  203.997249] .(5)[418:health@2.0-serv]healthd: battery l=4 v=3606 t=30.0 h=2 st=2 c=-32 fc=2946000 cc=1 chg=a
<12>[  203.999349] .(5)[418:health@2.0-serv]healthd: battery l=4 v=3606 t=30.0 h=2 st=2 c=-28 fc=2946000 cc=1 chg=a[ 6883.388565] (1)[486:health@2.1-serv]healthd: battery l=25 v=3830 t=30.5 h=2 st=2 c=453400 fc=2946000 cc=0 chg=u
[ 6899.524245] (2)[486:health@2.1-serv]healthd: battery l=25 v=3830 t=30.6 h=2 st=2 c=473600 fc=2946000 cc=0 chg=u
[ 6937.475240] (5)[486:health@2.1-serv]healthd: battery l=25 v=3826 t=30.7 h=2 st=2 c=407700 fc=2946000 cc=0 chg=u
[ 6959.521355] (1)[486:health@2.1-serv]healthd: battery l=25 v=3826 t=30.7 h=2 st=2 c=406400 fc=2946000 cc=0 chg=u
[ 7002.385107] (0)[486:health@2.1-serv]healthd: battery l=26 v=3827 t=30.8 h=2 st=2 c=370400 fc=2946000 cc=0 chg=u
[ 7019.522528] (1)[486:health@2.1-serv]healthd: battery l=26 v=3827 t=30.9 h=2 st=2 c=469300 fc=2946000 cc=0 chg=u

通过代码跟踪可以大概知道log含义:

  • l: 电量百分比
  • v: 电池电压
  • t: 电池温度
  • h: 电池健康状态(如下)

/frameworks/native/services/batteryservice/include/batteryservice/BatteryServiceConstants.h

18  enum {
19      BATTERY_HEALTH_UNKNOWN = 1,
20      BATTERY_HEALTH_GOOD = 2,
21      BATTERY_HEALTH_OVERHEAT = 3,
22      BATTERY_HEALTH_DEAD = 4,
23      BATTERY_HEALTH_OVER_VOLTAGE = 5,
24      BATTERY_HEALTH_UNSPECIFIED_FAILURE = 6,
25      BATTERY_HEALTH_COLD = 7,
26  };
  • c=%d", props.batteryCurrent);
  • fc=%d", props.batteryFullCharge);
  • cc=%d", props.batteryCycleCount);
  • chg: 当前使用充电器:
    • props.chargerAcOnline ? “a” : “”,
    • props.chargerUsbOnline ? “u” : “”,
    • props.chargerWirelessOnline ? “w” : “”

log打印来源

kernel log中的healthd log是从android 代码 /system/core/healthd/BatteryMonitor.cpp 打印出来的:


201  bool BatteryMonitor::update(void) {
...
214      props.batteryVoltage = getIntField(mHealthdConfig->batteryVoltagePath) / 1000;
215  
216      if (!mHealthdConfig->batteryCurrentNowPath.isEmpty())
217          props.batteryCurrent = getIntField(mHealthdConfig->batteryCurrentNowPath) / 1000;
218  
219      if (!mHealthdConfig->batteryFullChargePath.isEmpty())
220          props.batteryFullCharge = getIntField(mHealthdConfig->batteryFullChargePath);
221  
222      if (!mHealthdConfig->batteryCycleCountPath.isEmpty())
223          props.batteryCycleCount = getIntField(mHealthdConfig->batteryCycleCountPath);
224  
225      if (!mHealthdConfig->batteryChargeCounterPath.isEmpty())
226          props.batteryChargeCounter = getIntField(mHealthdConfig->batteryChargeCounterPath);
227  
...
234      if (readFromFile(mHealthdConfig->batteryStatusPath, &buf) > 0)
235          props.batteryStatus = getBatteryStatus(buf.c_str());
236  
237      if (readFromFile(mHealthdConfig->batteryHealthPath, &buf) > 0)
238          props.batteryHealth = getBatteryHealth(buf.c_str());
...
294      if (logthis) {
295          char dmesgline[256];
296          size_t len;
297          if (props.batteryPresent) {
298              snprintf(dmesgline, sizeof(dmesgline),
299                   "battery l=%d v=%d t=%s%d.%d h=%d st=%d",
300                   props.batteryLevel, props.batteryVoltage,
301                   props.batteryTemperature < 0 ? "-" : "",
302                   abs(props.batteryTemperature / 10),
303                   abs(props.batteryTemperature % 10), props.batteryHealth,
304                   props.batteryStatus);
305  
306              len = strlen(dmesgline);
307              if (!mHealthdConfig->batteryCurrentNowPath.isEmpty()) {
308                  len += snprintf(dmesgline + len, sizeof(dmesgline) - len,
309                                  " c=%d", props.batteryCurrent);
310              }
311  
312              if (!mHealthdConfig->batteryFullChargePath.isEmpty()) {
313                  len += snprintf(dmesgline + len, sizeof(dmesgline) - len,
314                                  " fc=%d", props.batteryFullCharge);
315              }
316  
317              if (!mHealthdConfig->batteryCycleCountPath.isEmpty()) {
318                  len += snprintf(dmesgline + len, sizeof(dmesgline) - len,
319                                  " cc=%d", props.batteryCycleCount);
320              }
321          } else {
322              len = snprintf(dmesgline, sizeof(dmesgline),
323                   "battery none");
324          }
325  
326          snprintf(dmesgline + len, sizeof(dmesgline) - len, " chg=%s%s%s",
327                   props.chargerAcOnline ? "a" : "",
328                   props.chargerUsbOnline ? "u" : "",
329                   props.chargerWirelessOnline ? "w" : "");
330  
331          KLOG_WARNING(LOG_TAG, "%s\n", dmesgline);
332      }

log数据来源

android 上层打印的log是通过读power_supply 相关的节点数据:

# ls sys/class/power_supply/
ac  battery  charger  usb# ls sys/class/power_supply/battery/
capacity  charge_counter  charge_full  current_avg  current_now  cycle_count  device  health  power  present  status  subsystem  technology  temp  type  uevent  voltage_now  wakeup13

power_supply实现

文件节点:
/kernel-4.9/drivers/power/supply/power_supply_sysfs.c

43  static ssize_t power_supply_show_property(struct device *dev,
44  					  struct device_attribute *attr,
45  					  char *buf) {
46  	static char *type_text[] = {
47  		"Unknown", "Battery", "UPS", "Mains", "USB",
48  		"USB_DCP", "USB_CDP", "USB_ACA", "Wireless", "USB_C",
49  		"USB_PD", "USB_PD_DRP"
50  	};
51  	static char *status_text[] = {
52  		"Unknown", "Charging", "Discharging", "Not charging", "Full",
53  		"Cmd discharging"
54  	};
55  	static char *charge_type[] = {
56  		"Unknown", "N/A", "Trickle", "Fast"
57  	};
58  	static char *health_text[] = {
59  		"Unknown", "Good", "Overheat", "Dead", "Over voltage",
60  		"Unspecified failure", "Cold", "Watchdog timer expire",
61  		"Safety timer expire"
62  	};
63  	static char *technology_text[] = {
64  		"Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe", "NiCd",
65  		"LiMn"
66  	};
67  	static char *capacity_level_text[] = {
68  		"Unknown", "Critical", "Low", "Normal", "High", "Full"
69  	};
70  	static char *scope_text[] = {
71  		"Unknown", "System", "Device"
72  	};
73  	ssize_t ret = 0;
74  	struct power_supply *psy = dev_get_drvdata(dev);
75  	const ptrdiff_t off = attr - power_supply_attrs;
76  	union power_supply_propval value;
77  
78  	if (off == POWER_SUPPLY_PROP_TYPE) {
79  		value.intval = psy->desc->type;
80  	} else {
81  		ret = power_supply_get_property(psy, off, &value);
82  
83  		if (ret < 0) {
84  			if (ret == -ENODATA)
85  				dev_dbg(dev, "driver has no data for `%s' property\n",
86  					attr->attr.name);
87  			else if (ret != -ENODEV && ret != -EAGAIN)
88  				dev_err(dev, "driver failed to report `%s' property: %zd\n",
89  					attr->attr.name, ret);
90  			return ret;
91  		}
92  	}
93  
94  	if (off == POWER_SUPPLY_PROP_STATUS)
95  		return sprintf(buf, "%s\n", status_text[value.intval]);
96  	else if (off == POWER_SUPPLY_PROP_CHARGE_TYPE)
97  		return sprintf(buf, "%s\n", charge_type[value.intval]);
98  	else if (off == POWER_SUPPLY_PROP_HEALTH)
99  		return sprintf(buf, "%s\n", health_text[value.intval]);
100  	else if (off == POWER_SUPPLY_PROP_TECHNOLOGY)
101  		return sprintf(buf, "%s\n", technology_text[value.intval]);
102  	else if (off == POWER_SUPPLY_PROP_CAPACITY_LEVEL)
103  		return sprintf(buf, "%s\n", capacity_level_text[value.intval]);
104  	else if (off == POWER_SUPPLY_PROP_TYPE)
105  		return sprintf(buf, "%s\n", type_text[value.intval]);
106  	else if (off == POWER_SUPPLY_PROP_SCOPE)
107  		return sprintf(buf, "%s\n", scope_text[value.intval]);
108  	else if (off >= POWER_SUPPLY_PROP_MODEL_NAME)
109  		return sprintf(buf, "%s\n", value.strval);
110  
111  	if (off == POWER_SUPPLY_PROP_CHARGE_COUNTER_EXT)
112  		return sprintf(buf, "%lld\n", value.int64val);
113  	else
114  		return sprintf(buf, "%d\n", value.intval);
115  }

注册power_supply:
/kernel-4.9/drivers/power/supply/power_supply_core.c

833  struct power_supply *__must_check power_supply_register(struct device *parent,
834  		const struct power_supply_desc *desc,
835  		const struct power_supply_config *cfg)
836  {
837  	return __power_supply_register(parent, desc, cfg, true);
838  }
839  EXPORT_SYMBOL_GPL(power_supply_register);

每个平台的芯片产的实现方法不一样,如下的文件节点可知有ac battery charger usb 几个地方调用power_supply_register 注册这个power_supply。

# ls sys/class/power_supply/
ac  battery  charger  usb

而android 上层在kernel 打印的healthd 数据就是每个产商实现方法而来的。

参考

  1. 《Android Healthd电池服务分析》https://blog.csdn.net/u012830148/article/details/80226498
  2. 《Linux power supply class(1)_软件架构及API汇整–wowo》http://www.wowotech.net/pm_subsystem/psy_class_overview.html ,https://wu-being.blog.csdn.net/article/details/106047670
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. HTML表格

    table 表格格式行 tr 列 td 表头 th 与td的区别 自动加粗并居中 tbody 主体 tfoot 页脚 边框 border border=“1px” cellspacing 间距(单元格边框) cellspacing=“0” 消除单元格的默认间距 cellpadding 设置单元格内容与单元格边框的距离 height 给tr设置行高 width …...

    2024/4/27 22:03:57
  2. leetcode第876题链表的中间结点C++

    题目描述:给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。代码分析: slow=slow->next,fast=fast->next->next;当fast元素遍历完时,slow正好位于中间结点 代码: /*** Definition for singly-linked list.…...

    2024/4/28 17:00:36
  3. 剑指Offer学习-面试题25:合并两个排序的链表

    /*** 合并两个排序的链表* 这里我选择让所有的节点往a链表合并* 设置一个前驱节点,当a小于cur时,cur直接下一个* 当a不小于cur时,先记录b的下一个节点next,然后把pre的下一个节点指向b,然后把pre的下一个下一个节点指向cur,最后把next赋值给b** @param a* @param b* @ret…...

    2024/4/27 23:56:42
  4. 如何自学Linux

    一、目的:1、二、参考1、零基础怎么自学入门linux系统?https://www.zhihu.com/question/31862037①总结:good:介绍了一些连接1、菜鸟教程https://www.runoob.com/linux/linux-install.html①总结:good:适合多看1、Linux运维部落http://www.178linux.com/①总结:good:适…...

    2024/4/28 11:24:48
  5. 安装pytorch和torchvision

    1.进入https://download.pytorch.org/whl/torch_stable.html2.nvcc -V 查看安装的cuda版本3.根据本机cuda版本和python版本找到对应的pytorch和torchvision并下载4.进入下载路径,pip install *.whl完成安装...

    2024/4/24 8:50:58
  6. python 批量更改文件MD5值

    代码如下 传入被更改的文件夹名称即可调用示例python test.py /Users/qiaobusi/Desktop/resourceimport os, glob,sysdef fileAppend(filename):myfile = open(filename,a)myfile.write(" ")myfile.closetaskPath=(sys.argv[1])for root,dirs,files in os.walk(taskP…...

    2024/4/24 8:51:00
  7. SpringMVC 的入门案例

    SpringMVC 的入门案例SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 Spring FrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功 能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在…...

    2024/4/24 8:50:57
  8. 系统安全之万里长城——Iptables与Firewalld

    防火墙管理工具 防火墙作为公网与内网之间的保护屏障,在保障数据的安全性方面起着至关重要的作用。 防火墙虽然有软件或硬件之分,但主要功能都是依据策略对穿越防火墙自身的流量进行过滤。防火墙策略可以基于流量的源目地址、端口号、协议、应用等信息来定制,然后防火墙使用…...

    2024/4/24 8:50:55
  9. 21 栈的压入、弹出序列(Java)

    题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意…...

    2024/4/24 8:50:55
  10. Python基础排序算法之冒泡排序

    #要点 冒泡排序实现原理 冒泡排序的代码实现及优化 冒泡排序的性能分析冒泡排序实现原理冒泡排序是一种相对而言比较简单,也是比较基础的排序算法。其算法的实现原理如下: (1)比较相邻的元素,如果第一个比第二个大,就交换他们两个的位置; (2)对每一对相邻元素做同样的…...

    2024/4/15 6:33:33
  11. LeetCode-1193. 每月交易 I (中等)

    题目来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/monthly-transactions-i 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 本人思路: – 此题注意count()/sum()函数在聚合时可以加入条件 – sum()函数中返回0/count()函数中返回n…...

    2024/4/20 5:46:20
  12. SpringMVC 学习笔记心得(八)自定义异常处理器&&自定义拦截器

    异常流程处理过程,出现异常之后都会默认向上抛出异常直到有人处理,如果整个过程中一直没有人去处理,那么将会将异常抛给浏览器(也就是用户),这样对用户的体验是非常不友好的,所以我们应该要手动去处理这些异常,以展示友好界面1)、自定义异常处理器1).自定义异常SysExce…...

    2024/4/15 6:33:31
  13. 【dp】【AC自动机】文本生成器

    门 记住常见DP+ACM的套路:dpi,jdp_{i,j}dpi,j​表示长度i,节点j,可能多加一维表示状态 题目 长度为m的最少包含一个模式串的文本串的方案数 题解 AC自动机建好后思考dp转移 dpi,j,0/1dp_{i,j,0/1}dpi,j,0/1​表示长度为i,状态在j号节点,0/1表示是否含有模式串 如果j为终止…...

    2024/4/15 6:33:30
  14. swagger使用详解

    springBoot swagger Configuration配置@Configuration public class SwaggerConfigure {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.yspay.insura…...

    2024/4/24 8:50:54
  15. 软件公司的岗位分布

    ** 软件公司的职能分布: ** 程序员: 要求:掌握基本的软件工程的思想,明白软件开发的基本流程,至少掌握一门以上的编程语言,一种数据库,能够根据系统分析文档进行基本应用程序的编写。具有项目开发经验。 岗位职责:负责程序代码的编写和测试,以及基本文档的编写 软件测试…...

    2024/4/24 8:50:55
  16. 1154 Vertex Coloring (25分)

    https://pintia.cn/problem-sets/994805342720868352/problems/1071785301894295552 1154 Vertex Coloring (25分) A proper vertex coloring is a labeling of the graph’s vertices with colors such that no two vertices sharing the same edge have the same color. A co…...

    2024/4/24 8:50:51
  17. Windows守护进程实现/设置程序图标/隐藏黑窗/获取exe所在目录/设置开机自启动

    功能:实现一个windows守护进程,设置有自定义图标,启动后隐藏黑窗口,获取exe所在目录,并设置开机自启动(需要以管理员权限运行)。如果需要打包成可执行的安装包程序,见另一篇博客。隐藏控制台窗口:main函数前添加#pragma comment(linker, "/subsystem:\"windo…...

    2024/4/24 8:50:50
  18. OkHttp源码分析

    OkHttp目前是Android平台主流的网络请求框架,包括最近比较出名的Retrofit网络请求库也是基于OkHttp框架来实现的,我们有必要学习下它的实现原理. 我们一般用OkHttp的使用方法如下: private val client = OkHttpClient.Builder().build() val request = Request.Builder().url(…...

    2024/4/24 8:50:50
  19. STM32学习笔记 GPIO初始化参数结构体介绍

    GPIO初始化参数结构体如下:typedef struct{uint16_t GPIO_Pin;GPIOSpeed_TypeDef GPIO_Speed;GPIOMode_Typedef GPIO_Mode;}GPIO_InitTypeDef;其中三个参数分别为:端口号、端口速度、端口模式。该结构体的定义在stm32f10x_gpio.h文件中。用到的时候,一般只在头文件中包含进…...

    2024/4/24 8:50:51
  20. 软件工程-程序编码

    前言程序编码就是设计的继续,是将设计转化成计算机能够理解的语言的阶段。程序设计语言的性能和编码风格在很大程度上都会影响着软件的质量和维护性能,即对程序的可靠性、可读性、可测试性和可维护性产生较远的影响。 本次分享我就主要从程序设计语言选择、结构化程序设计、程…...

    2024/4/24 8:50:50

最新文章

  1. 免费调用阿里云通义千问(qwen-1.8b-chat)大模型API

    目录 前言通义千问开通注意 APi接口最后 前言 免费的GPT接口国内的使用一段实践就会失效&#xff0c;阿里云的qwen-1.8b-chat限时免费&#xff0c;可对接&#xff01;目前本账号小助手也是对接了该模型 通义千问 通义千问&#xff0c;是基于阿里巴巴达摩院在自然语言处理领域…...

    2024/4/28 17:17:25
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. 【Java】假如把集合体系看作购物中心

    购物中心入口&#xff1a;Java集合框架 “Java集合广场”的购物中心&#xff0c;这是一个集合了各种奇特商店的地方&#xff0c;每个商店都充满了不同的宝藏&#xff08;数据结构&#xff09;。 一楼&#xff1a;基础集合区 - Collection接口 一楼是基础集合区&#xff0c;这…...

    2024/4/24 3:27:38
  4. N5171B是德科技N5171B信号发生器

    181/2461/8938产品概述&#xff1a; N5171B EXG 射频模拟信号发生器具有最佳的 EXG&#xff0c;旨在满足您对组件参数测试和接收器校准的信号需求。其出色的硬件性能可提供更快的吞吐量、更长的正常运行时间以及极好的准确性和可重复性。 Agilent / HP N5171B EXG 射频模拟信…...

    2024/4/27 10:27:08
  5. 【外汇早评】美通胀数据走低,美元调整

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

    2024/4/28 13:52:11
  6. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/4/28 3:28:32
  7. 【外汇周评】靓丽非农不及疲软通胀影响

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

    2024/4/26 23:05:52
  8. 【原油贵金属早评】库存继续增加,油价收跌

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

    2024/4/28 13:51:37
  9. 【外汇早评】日本央行会议纪要不改日元强势

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

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

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

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

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

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

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

    2024/4/28 15:57:13
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

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

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

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

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

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

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

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

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

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

    2024/4/28 1:22:35
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

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

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

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

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

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

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

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

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

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

    2024/4/26 19:46:12
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

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

    2024/4/27 11:43:08
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

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

    2024/4/27 8:32:30
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

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

    2022/11/19 21:17:18
  26. 错误使用 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
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,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
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:16:58
  44. 如何在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