征程 6X 常用工具介绍

一、采集/设置系统信息的工具集

获取开发板 SOM 状态工具

[LINUX] hrut_somstatus 是用来获取当前开发板SOM状态的工具,包含温度、 cpu频率、bpu状态。

用法:

hrut_somstatus [-n count] [-d second]

获取开发板boardid工具

[LINUX] hrut_boardid 是用来获取当前开发板 boardid 的工具。

用法:

    hrut_boardid

获取芯片 unique id 的工具

[LINUX] hrut_socuid 是用来获取当前芯片unique id的工具。

用法:

        hrut_socuid

设置开发板IP地址工具

[LINUX] hrut_ipfull 是用来设置开发板 IP 地址的工具,支持设置、获取、清空三个功能,重启后生效,在系统起来后会自动配置上。

用法:

#设置 IP 地址
hrut_ipfull s <eth0/eth1> IP<x.x.x.x> MASK<y.y.y.y> GATEWAY<z.z.z.z>
#获取 IP 地址
hrut_ipfull g <eth0/eth1>
#空 IP 地址hrut_ipfull c <eth0/eth1>

举例:

#设置 IP 地址,以 eth0 为例
root@hobot:~# hrut_ipfull s eth0 192.168.0.100 255.255.255.0 192.168.0.1
root@hobot:~#
#获取 IP 地址,以 eth0 为例
root@hobot:~# hrut_ipfull g eth0
ip=192.168.0.100
mask=255.255.255.0
gw=192.168.0.1
#清空 IP 地址,以 eth0 为例
root@hobot:~# hrut_ipfull c eth0
clear all ip related setting.

二、设置开发板 MAC 地址工具

[LINUX] hrut_mac 是用来设置开发板 mac 地址的工具,支持设置、获取、清空三个功能,重启后生效,在系统起来后会自动配置上。

用法:

#设置 mac 地址
hrut_mac s <eth0/eth1> xx:xx:xx:xx:xx:xx
#获取 mac 地址
hrut_mac g <eth0/eth1>
#清空 mac 地址
hrut_mac c <eth0/eth1>

举例:

#设置mac地址,以eth0为例root@hobot:~# hrut_mac s eth0 11:22:33:44:55:66
root@hobot:~#
#获取mac地址,以eth0为例
root@hobot:~# hrut_mac g eth0
11:22:33:44:55:66
#清空mac地址,以eth0为例
root@hobot:~# hrut_mac c eth0

三、BPU 使用率测试工具

3.1 工具位置以及所包含文件

从项目接口同学处获取功耗包 power_consumption_benchmark_tool.7z。

功耗包解压至板端/map/benchmark_tool 目录下,其中 BPU 工具存放在/map/benchmark_tool/bpu 目录,具体目录结构如下:

root@hobot:/map/benchmark_tool/bpu# ls -al
total 64232
drwxr-xr-x 3 root root 4096 Sep 5 2024 .
drwx------ 10 root root 4096 Jan 27 2024 …
-rwxr-xr-x 1 root root 1660560 Aug 9 2024 bpu_os_test
-rwxr-xr-x 1 root root 212992 Aug 9 2024 input_1.bin
-rwxr-xr-x 1 root root 106496 Aug 9 2024 input_2.bin
drwxr-xr-x 2 root root 4096 Aug 9 2024 lib
-rwxr-xr-x 1 root root 3022 Sep 5 2024 run.sh
-rwxr-xr-x 1 root root 63766544 Aug 9 2024 yolov3.hbm

用法:

sh run.sh -r <xx>

举例:

# 设置bpu占用率为90
root@hobot:/map/benchmark_tool/bpu# sh run.sh -r 90

注:-r 数值为预设的 BPU 占用率,范围是 5-100,超过此范围会报输入错误。可以通过 hrut_somstatus 命令查看实际的 BPU 占用率。(实际使用过程中,出现与设置阈值±5%的抖动为正常现象)

root@hobot:/map/benchmark/bpu# sh run.sh -r 100
#启动新的 ssh 终端查看对应 group 的占用值
root@hobot:~# hrut_somstatus
=====================1=====================
temperature–>
pvt_cmn_pvtc1_t1 : 36.893 ©
pvt_cmn_pvtc1_t2 : 36.342 ©
pvt_mcu_pvtc1_t1 : 39.283 ©
pvt_mcu_pvtc1_t2 : 39.099 ©
pvt_bpu_pvtc1_t1 : 39.834 ©
voltage–>
FAKE : 100.0 (mV)
VDDQ_DDR2 : 492.0 (mV)
VDD_MCU : 742.0 (mV)
…
MCU_PVTC1_V15 : 0.0 (mV)
MCU_PVTC1_V16 : 0.0 (mV)
cpu frequency–>
min cur max
policy0: 1500000000 2000000000 2000000000
policy4: 1500000000 2000000000 2000000000
bpu status information---->
ratio
bpu0: 99
… _power_consumption_benchmark_tools:

四、功耗测试工具

4.1 工具概述

本工具可同时跑 CPU、BPU、VDSP、Codec 和 GPU 的负载加压用例,并实时记录各负载、芯片结温和 DDR 带宽等信息,用于功耗测试。

从项目接口同学处获取功耗包 power_consumption_benchmark_tool.7z。

功耗包需手动解压到板端,解压后的目录结构如下:

.
├── bpu
├── codec
├── cpu
├── gpu
├── mdma
├── monitor
├── run.sh
└── vdsp

注:

  1. 该软件包运行后,因实时记录各负载、芯片结温和 DDR 带宽等信息到文件中,需要较大空间,因此建议拷贝到有充足空间的目录下,如/map。
  2. Release 包中不包含 GPU 的功耗测试工具(glmark2),需通过“apt install glmark2-es2-drm”命令进行安装。

4.2 运行

将软件包通过 scp 命令传至板端的/map,假设板端网络已通,且 ip 为 board_ip:

user.name@compile-server:~/work/J6$ scp power_consumption_benchmark_tool.7z root@board_ip:/map

release 版本上,需要提前安装 7z 工具,用以解压软件包,安装命令为:

sudo apt-get updatesudo apt install p7zip-full

板端解压至/map/benchmark_tool 目录下:

root@hobot:/map# mkdir benchmark_tool
root@hobot:/map# 7z x power_consumption_benchmark_tool.7z -o/map/benchmark_tool/

执行如下命令,默认同时跑 CPU、BPU、VDSP、Codec 和 GPU 的负载加压用例:

root@hobot:/map/benchmark_tool# bash run.sh

4.3 BPU 配置

运行说明

BPU 加压程序使用上述的 :ref:BPU 使用率测试工具 <bpu_radio_tool>,默认启动后会一直跑,除非终止程序,运行命令如下:

root@hobot:/map/benchmark_tool/bpu# bash run.sh -r 100

BPU 负载可通过指定-r 参数来调节,参数范围是[5, 100]。

  1. 并行跑多个用例时,默认负载是 100%,可通过修改/map/benchmark_tool 目录下的 run.sh 进行调节。

示例:设置 BPU 负载为 80%。

cd ${SCRIPT_DIR}/bpu && bash run.sh -r 80
  1. BPU 负载用例时,直接执行 BPU 目录下的 run.sh,加上-r 参数进行调节。

示例:设置 BPU 负载为 100%。

root@hobot:/map/benchmark_tool/bpu# bash run.sh -r 100
负载查看

运行 bpu 加压程序后,可在/map/benchmark_tool/monitor/output/bpu_load 文件中查看 BPU 的实时负载,每秒记录一次:

root@hobot:/map/benchmark_tool/monitor/output# cat bpu_load
Tue Jun 4 19:04:13 CST 2024: bpu load: 0
Tue Jun 4 19:04:14 CST 2024: bpu load: 0
Tue Jun 4 19:04:15 CST 2024: bpu load: 0
Tue Jun 4 19:04:16 CST 2024: bpu load: 69
Tue Jun 4 19:04:17 CST 2024: bpu load: 97
Tue Jun 4 19:04:18 CST 2024: bpu load: 99
Tue Jun 4 19:04:19 CST 2024: bpu load: 99
Tue Jun 4 19:04:20 CST 2024: bpu load: 98

4.4 CPU 配置

运行说明

CPU 加压程序默认启动后会一直跑,除非终止程序,运行命令如下:

root@hobot:/map/benchmark_tool/cpu# bash run.sh

并行跑多个用例时,默认跑满所有 CPU 核的 100%负载。

可通过指定 cpu 的 run.sh 参数来调节 CPU 负载。

用法:

bash run.sh <core_num> <load> <time>
  1. 第一个参数 core_num 设置跑的 cpu 核数,范围是[1,6];
  2. 第二个参数 load 设置各个核的负载,范围是[50,100];
  3. 第三个参数设置运行时长,单位为秒,大于 0。

示例:同时跑 3 个核,各个核的负载为 50%,运行 5 秒。

root@hobot:/map/benchmark_tool/cpu# bash run.sh 3 50 5
负载查看

运行 cpu 加压程序后,可在/map/benchmark_tool/monitor/output/cpu_load 文件中查看 CPU 的实时负载,每秒记录一次:

root@hobot:/map/benchmark_tool/monitor/output# cat cpu_load
Tue Jun  4 19:04:13 CST 2024: cpu load: 83.33
Tue Jun  4 19:04:14 CST 2024: cpu load: 30.05
Tue Jun  4 19:04:15 CST 2024: cpu load: 34.49
Tue Jun  4 19:04:16 CST 2024: cpu load: 26.80
Tue Jun  4 19:04:17 CST 2024: cpu load: 23.75
Tue Jun  4 19:04:18 CST 2024: cpu load: 44.50
Tue Jun  4 19:04:19 CST 2024: cpu load: 100.00
Tue Jun  4 19:04:20 CST 2024: cpu load: 100.00
Tue Jun  4 19:04:21 CST 2024: cpu load: 100.00
Tue Jun  4 19:04:22 CST 2024: cpu load: 100.00
Tue Jun  4 19:04:23 CST 2024: cpu load: 100.00

4.5 Codec 配置

运行说明

Codec 加压程序的运行命令如下:

root@hobot:/map/benchmark_tool/codec# bash run.sh 10000000 10000000

并行跑多个用例时,默认跑满 jpu 和 vpu 的 100%负载,jpu 跑 10000000s,vpu 跑 10000000s。

可通过指定 codec 的 run.sh 参数来调节运行时长。

用法:

bash run.sh <jpu_test_time> <vpu_test_time>
  1. 第一个参数 jpu_test_time 设置 jpu 运行时间,单位为秒,要求大于 0;
  2. 第二个参数 vpu_test_time 设置 vpu 运行时间,单位为秒,要求大于 0;

示例:jpu 跑 1000s,vpu 跑 1000s。

root@hobot:/map/benchmark_tool/codec# bash run.sh 1000 1000
负载查看

运行 codec 加压程序后,可在/map/benchmark_tool/monitor/output/jpu_load 和 vpu_load 文件中查看 jpu 和 vpu 的实时负载,每秒记录一次:

root@hobot:/map/benchmark_tool/monitor/output# cat jpu_load
Tue Jun  4 19:04:13 CST 2024: jpu load: 0
Tue Jun  4 19:04:14 CST 2024: jpu load: 0
Tue Jun  4 19:04:15 CST 2024: jpu load: 0
Tue Jun  4 19:04:16 CST 2024: jpu load: 0
Tue Jun  4 19:04:17 CST 2024: jpu load: 0
Tue Jun  4 19:04:18 CST 2024: jpu load: 0.7
Tue Jun  4 19:04:19 CST 2024: jpu load: 38.9
Tue Jun  4 19:04:20 CST 2024: jpu load: 100.0
Tue Jun  4 19:04:21 CST 2024: jpu load: 100.0
Tue Jun  4 19:04:22 CST 2024: jpu load: 100.0
Tue Jun  4 19:04:23 CST 2024: jpu load: 100.0
Tue Jun  4 19:04:25 CST 2024: jpu load: 100.0
Tue Jun  4 19:04:26 CST 2024: jpu load: 100.0
Tue Jun  4 19:04:27 CST 2024: jpu load: 100.0
Tue Jun  4 19:04:28 CST 2024: jpu load: 100.0
Tue Jun  4 19:04:29 CST 2024: jpu load: 100.0
root@hobot:/map/benchmark_tool/monitor/output# cat vpu_load
Tue Jun  4 19:04:13 CST 2024: vpu load: 0
Tue Jun  4 19:04:14 CST 2024: vpu load: 0
Tue Jun  4 19:04:15 CST 2024: vpu load: 0
Tue Jun  4 19:04:16 CST 2024: vpu load: 0
Tue Jun  4 19:04:17 CST 2024: vpu load: 0
Tue Jun  4 19:04:18 CST 2024: vpu load: 1.0
Tue Jun  4 19:04:19 CST 2024: vpu load: 39.0
Tue Jun  4 19:04:20 CST 2024: vpu load: 99.0
Tue Jun  4 19:04:21 CST 2024: vpu load: 99.0
Tue Jun  4 19:04:22 CST 2024: vpu load: 100.0
Tue Jun  4 19:04:23 CST 2024: vpu load: 100.0
Tue Jun  4 19:04:25 CST 2024: vpu load: 100.0
Tue Jun  4 19:04:26 CST 2024: vpu load: 99.0
Tue Jun  4 19:04:27 CST 2024: vpu load: 100.0
Tue Jun  4 19:04:28 CST 2024: vpu load: 100.0
Tue Jun  4 19:04:29 CST 2024: vpu load: 100.0

4.6 VDSP 配置

运行说明

VDSP 加压程序的运行命令如下:

root@hobot:/map/benchmark_tool/vdsp# bash run.sh 28800 100

并行跑多个用例时,默认跑满 VDSP 的 100%负载,运行 8 小时。

可通过指定 vdsp 的 run.sh 参数来调节运行时长和负载。

用法:
bash run.sh <test_time> <loading>
  1. 第一个参数 test_time 设置 vdsp 运行时间,单位为秒,要求大于 0;
  2. 第二个参数 loading 设置 vdsp 负载,范围是[10,100];

示例:vdsp 跑 50%负载,运行 1 小时。

root@hobot:/map/benchmark_tool/vdsp# bash run.sh 3600 50
负载查看

运行 vdsp 加压程序后,可在/map/benchmark_tool/monitor/output/vdsp_load 文件中查看 VDSP 的实时负载,每秒记录一次:

root@hobot:/map/benchmark_tool/monitor/output# cat vdsp_load
Tue Jun 4 19:04:19 CST 2024: vdsp load: 93
Tue Jun 4 19:04:20 CST 2024: vdsp load: 96
Tue Jun 4 19:04:21 CST 2024: vdsp load: 97
Tue Jun 4 19:04:22 CST 2024: vdsp load: 98
Tue Jun 4 19:04:23 CST 2024: vdsp load: 98
Tue Jun 4 19:04:24 CST 2024: vdsp load: 98
Tue Jun 4 19:04:25 CST 2024: vdsp load: 98
Tue Jun 4 19:04:26 CST 2024: vdsp load: 98
Tue Jun 4 19:04:27 CST 2024: vdsp load: 98
Tue Jun 4 19:04:28 CST 2024: vdsp load: 98
Tue Jun 4 19:04:29 CST 2024: vdsp load: 99
Tue Jun 4 19:04:30 CST 2024: vdsp load: 99
Tue Jun 4 19:04:31 CST 2024: vdsp load: 99
Tue Jun 4 19:04:32 CST 2024: vdsp load: 99
Tue Jun 4 19:04:33 CST 2024: vdsp load: 99
Tue Jun 4 19:04:34 CST 2024: vdsp load: 99

4.7 GPU 配置

运行说明

GPU 加压程序启动后,会一直运行,运行命令如下:

#/map/benchmark_tool/run.sh
cd ${SCRIPT_DIR}/gpu && bash run.sh

并行跑多个用例时,默认跑满 GPU 的 100%负载。

4.8 关键信息监控

通过在后台运行监控程序,可实时监控各负载、芯片结温和 DDR 带宽等信息,运行命令如下:

… attention::

同一时刻,不可运行多个相同的监控程序,否则会导致监控信息不准确!
# 监控ddr带宽
bash monitor/monitor.sh -m ddr
# 监控芯片结温
bash monitor/monitor.sh -m temp
# 监控bpu负载
bash monitor/monitor.sh -m bpu
# 监控codec中的jpu和vpu负载
bash monitor/monitor.sh -m codec
# 监控cpu负载
bash monitor/monitor.sh -m cpu
# 监控vdsp负载
bash monitor/monitor.sh -m vdsp
# 监控以上所有信息
bash monitor/monitor.sh -m all

4.9 关键信息查看

芯片结温

并行跑多个用例时,芯片结温会每秒输出到终端上,同时保存到/map/benchmark_tool/monitor/output/temp 文件中。

root@hobot:/map/benchmark_tool/monitor/output# head -n 10 temp
2024年 09月 10日 星期二 20:08:27 CST: Temp: pvt_cmn_pvtc1_t1  pvt_cmn_pvtc1_t2  pvt_mcu_pvtc1_t1  pvt_mcu_pvtc1_t2  pvt_bpu_pvtc1_t1
2024年 09月 10日 星期二 20:08:27 CST:         30276000          31563000           28989000           29541000           31011000
2024年 09月 10日 星期二 20:08:28 CST: Temp: pvt_cmn_pvtc1_t1  pvt_cmn_pvtc1_t2  pvt_mcu_pvtc1_t1  pvt_mcu_pvtc1_t2  pvt_bpu_pvtc1_t1
2024年 09月 10日 星期二 20:08:28 CST:         33217000          32298000           33401000           33952000           35423000
2024年 09月 10日 星期二 20:08:29 CST: Temp: pvt_cmn_pvtc1_t1  pvt_cmn_pvtc1_t2  pvt_mcu_pvtc1_t1  pvt_mcu_pvtc1_t2  pvt_bpu_pvtc1_t1
2024年 09月 10日 星期二 20:08:29 CST:         33952000          33217000           34688000           35055000           36526000
2024年 09月 10日 星期二 20:08:30 CST: Temp: pvt_cmn_pvtc1_t1  pvt_cmn_pvtc1_t2  pvt_mcu_pvtc1_t1  pvt_mcu_pvtc1_t2  pvt_bpu_pvtc1_t1
2024年 09月 10日 星期二 20:08:30 CST:         34320000          33585000           35055000           35423000           36893000
2024年 09月 10日 星期二 20:08:31 CST: Temp: pvt_cmn_pvtc1_t1  pvt_cmn_pvtc1_t2  pvt_mcu_pvtc1_t1  pvt_mcu_pvtc1_t2  pvt_bpu_pvtc1_t1
2024年 09月 10日 星期二 20:08:31 CST:         34688000          33769000           35239000           35791000           37261000
DDR 带宽

并行跑多个用例时,会通过 hrut_ddr 工具,每秒实时将 DDR 带宽信息保存到/map/benchmark_tool/monitor/output/ddr_bandwidth 文件中。

root@hobot:/map/benchmark_tool/monitor/output# head -n 40 ddr_bandwidth
ddr monitors devices all enabled
subsys enabled:        all
cmd output enabled
sample config:period: 1000000, num: 1Elapsed time[1000.008] ms        localtime: 2024-09-10 20:08:28.076890
---------------------------------------------------------Perf(MiB/s)|  Range1:all|   Bandwidth
---------------------------------------------------------Read|        5752|        5708
---------------------------------------------------------Write|         769|         750
---------------------------------------------------------Elapsed time[2000.008] ms        localtime: 2024-09-10 20:08:29.076890
---------------------------------------------------------Perf(MiB/s)|  Range1:all|   Bandwidth
---------------------------------------------------------Read|       18862|       18859
---------------------------------------------------------Write|         943|         939
---------------------------------------------------------Elapsed time[3000.011] ms        localtime: 2024-09-10 20:08:30.076893
---------------------------------------------------------Perf(MiB/s)|  Range1:all|   Bandwidth
---------------------------------------------------------Read|       18787|       18785
---------------------------------------------------------Write|         914|         911
---------------------------------------------------------Elapsed time[4000.010] ms        localtime: 2024-09-10 20:08:31.076892
---------------------------------------------------------Perf(MiB/s)|  Range1:all|   Bandwidth
---------------------------------------------------------Read|       18747|       18745
---------------------------------------------------------Write|         914|         910
运行期间 log

为防止并行跑多用例时,各个负载用例运行时 log 同时输出到终端错乱,默认配置如下:

  1. cpu、gpu、codec 和 vdsp 的用例运行期间的 log 保存到各用例对应的 output/data 文件中;
  2. bpu 用例的 log 不多,只有运行之初有,所以直接输出到串口中;
终止运行

由于各负载用例都会在后台运行,所以终端执行 Ctrl+C 后,无法彻底终止用例,需额外执行如下命令:

终止所有 benchmark 负载用例和监控程序:

root@hobot:/map/benchmark_tool# bash monitor/monitor.sh -e

终止单个 benchmark 负载用例,以 cpu 为例:

root@hobot:/map/benchmark_tool# bash monitor/monitor_cpu.sh -e

终止所有监控程序:

root@hobot:/map/benchmark_tool# bash monitor/monitor.sh -E all

终止单个监控程序,以 vdsp 为例:

root@hobot:/map/benchmark_tool# bash monitor/monitor.sh -E vdsp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/94541.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/94541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字隔离器:新能源系统的安全与效能革命

在新能源技术高速发展的浪潮中&#xff0c;高压、高频、高可靠性的需求对系统设计提出全新挑战。传统隔离器件受限于响应速度、抗干扰能力及体积限制&#xff0c;逐渐难以满足光伏发电、电动汽车、储能系统等场景的严苛要求。数字隔离器以创新的半导体技术为核心&#xff0c;通…

算法训练营day58 图论⑧ 拓扑排序精讲、dijkstra(朴素版)精讲

本篇应该是图论的经典部分了&#xff0c;本篇的内容作为小白没有了解过&#xff0c;但是至少会听说过——拓扑排序精讲、dijkstra&#xff08;朴素版&#xff09;精讲。 拓扑排序精讲 本题是拓扑排序的经典题目。一聊到 拓扑排序&#xff0c;一些录友可能会想这是排序&#xf…

如何在日常开发中高效使用 Copilot

网罗开发&#xff08;小红书、快手、视频号同名&#xff09;大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等方…

使用Docker部署Coze Studio开源版

1、安装Docker# 安装Docker https://docs.docker.com/get-docker/# 安装Docker Compose https://docs.docker.com/compose/install/# CentOS安装Docker https://mp.weixin.qq.com/s/nHNPbCmdQs3E5x1QBP-ueA2、安装Coze Studio详见&#xff1a;https://github.com/coze-dev/coze…

深度剖析Spring AI源码(九):构建企业知识库,深入ETL与RAG实现

深度剖析Spring AI源码&#xff08;九&#xff09;&#xff1a;构建企业知识库&#xff0c;深入ETL与RAG实现 “Data is the new oil, but like oil, it’s valuable only when refined.” —— 在AI时代&#xff0c;原始数据需要经过精心的ETL处理才能成为AI的"燃料"…

C# 简单工厂模式:构建灵活与可扩展的面向对象程序

在面向对象编程&#xff08;OOP&#xff09;的世界中&#xff0c;简单工厂模式&#xff08;Simple Factory Pattern&#xff09; 是一种非常常见且实用的设计模式。虽然它并不属于GoF&#xff08;Gang of Four&#xff09;定义的23种经典设计模式之一&#xff0c;但它是理解更复…

全面解析JVM预热:原理、价值与实践指南

在Java应用的性能优化领域,“JVM预热”是一个常被提及却容易被忽视的关键环节。尤其是在高并发、低延迟的业务场景中,未经过充分预热的JVM可能导致应用启动初期出现响应延迟、吞吐量波动甚至服务不可用的问题。本文将从JVM预热的核心原理出发,深入剖析其价值、常见实现方案及…

数学建模-灰色关联分析(GRA)

目录 1-AI带你认识GRA &#x1f4d8; 一、灰色关联分析&#xff08;GRA&#xff09;简介 1. 什么是灰色关联分析&#xff1f; 2. 核心思想&#xff08;通俗理解&#xff09;&#xff1a; 3. 与熵权法的对比&#xff08;快速类比&#xff09;&#xff1a; &#x1f9e9; 二…

Shell脚本-expect

一、前言在 Linux 系统管理与自动化运维中&#xff0c;我们经常需要编写 Shell 脚本来完成各种任务。但有些命令&#xff08;如 ssh、scp、passwd、ftp 等&#xff09;在执行时会等待用户手动输入密码或确认信息&#xff0c;这就导致脚本无法完全自动化运行。为了解决这个问题&…

Conmi的正确答案——Ubuntu24.04禁用任何休眠

系统&#xff1a;Ubuntu 24.04步骤一、禁用系统休眠服务 # 禁用所有休眠/待机相关服务&#xff08;立即生效&#xff09; sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target # 验证状态&#xff08;显示 "masked" 即成功&am…

开源 C++ QT Widget 开发(二)基本控件应用

文章的目的为了记录使用C 进行QT Widget 开发学习的经历。临时学习&#xff0c;完成app的开发。开发流程和要点有些记忆模糊&#xff0c;赶紧记录&#xff0c;防止忘记。 相关链接&#xff1a; 开源 C QT Widget 开发&#xff08;一&#xff09;工程文件结构-CSDN博客 开源 C…

今日科技风向|从AI芯片定制到阅兵高科技展示——聚焦技术前沿洞察

今日科技风向&#xff5c;从AI芯片定制到阅兵高科技展示——聚焦技术前沿洞察 一、NVIDIA 开发“黑曜”子版 AI 芯片 B30A&#xff0c;瞄准中国市场 今日报道指出&#xff0c;NVIDIA 正在研发一款面向中国市场的定制芯片 B30A&#xff0c;基于其先进的 Blackwell 架构&#xff…

Elasticsearch官方文档学习-未完待续

Elasticsearch官方文档学习-未完待续说明快速开始基础知识索引组成1. 文档 (Documents)2. 元数据字段(Metadata fields)3. 映射和数据类型(Mappings and data types)文档操作(Document)批量创建或者删除文档 (Bulk index or delete documents)乐观并发控制 Optimistic concurre…

Redis资料

Redis是什么&#xff1f; Redis(Remote Dictionary Server)是一个开源的、基于内存的键值数据库&#xff0c;支持多种数据结构&#xff0c;可用作数据库、缓存和消息中间件。主要特点包括&#xff1a; 基于内存操作&#xff0c;读写性能极高支持持久化&#xff0c;可将内存数…

CAMEL-Task2-Agent的构成组件

CAMEL-Task2-Agent的构成组件 本文笔记主要关于2.7章节&#xff1a;CAMEL框架中agents如何使用工具。 一、工具说明 为什么要额外使用工具&#xff1f; agents本身的知识和能力有限&#xff0c;比如一些问题需要联网搜索才能准确回答&#xff08;而不是乱答&#xff0c;即“…

数据整理自动化 - 让AI成为你的数据助手

文章目录数据整理自动化 - 让AI成为你的数据助手引言&#xff1a;数据整理的时代挑战与机遇1. 常见数据整理场景分析1.1 数据整理的多元场景图谱1.2 数据质量问题的分类与影响1.3 传统处理方法的局限性2. AI与传统脚本的协同工作流2.1 智能数据整理架构设计2.2 协同工作流的最佳…

react速成

项目目录package.json文件&#xff1a;包含核心两个依赖&#xff08;react、react-dom&#xff09;和命令&#xff08;start、bulid&#xff09;src&#xff1a;源码目录&#xff0c;开始之用的到index.js和App.jsindex.js&#xff1a;是项目的入口&#xff0c;一切的运行起点/…

Maven的进阶使用(上)

pom.xml文件 就像 Make 的 MakeFile、Ant 的 build.xml 一样&#xff0c;Maven 项目的核心是 pom.xml。POM(全称 Project Object Model&#xff0c;项目对象模型 ) 定义了项目的基本信息&#xff0c;用于描述项目如何构建&#xff0c;声明项目依赖&#xff0c;等等。 Gredele--…

【最后203篇系列】034 使用SQLite构建简单的任务管理

表数据同步的断点续传 有时候需要将一个表的数据复制到另一个表&#xff0c;循环是常用的方式。当表比较大&#xff0c;执行的时间很长&#xff0c;会有很多因素引起失败。我希望可以比较简单的跑数&#xff0c;所以做一个简单的任务系统。 SQLitre是嵌入式数据库&#xff0c;这…

SpringCloud Alibaba核心知识点

Spring Cloud Alibaba 是阿里巴巴开源的一套微服务解决方案&#xff0c;与 Spring Cloud 生态深度集成。以下是其主要组件及其功能&#xff1a;Nacos服务注册与发现&#xff1a;支持动态服务注册、健康监测及DNS-Based服务发现。配置中心&#xff1a;提供分布式配置管理&#x…