mongostat跟踪Mongodb运行的状态
版本控制
从 MongoDB 4.4 开始,mongostat 现在与 MongoDB 服务器分开发布,并使用自己的版本控制,初始版本为100.0.0. 之前,
mongostat 与 MongoDB Server 一起发布并使用匹配的版本控制。
兼容性
mongostat 版本100.7.3支持以下版本的 MongoDB Server:
MongoDB 6.0
MongoDB 5.0
MongoDB 4.4
MongoDB 4.2
mongostat 实用程序提供当前正在运行的mongod 或者 mongos 实例状态的概述 。
mongostat 功能上类似于 UNIX/Linux 文件系统实用程序vmstat。
访问权限
为了连接到 mongod 强制授权 --auth 选项,指定 --username 和–password选项,并且连接用户必须具有 serverStatus
对集群资源的特权操作。
内置角色 clusterMonitor 提供此特权以及其他特权。
sit_rs1:PRIMARY> db.getRole("clusterMonitor", { showPrivileges: true }).privileges[0]
{"resource" : {"cluster" : true},"actions" : ["checkFreeMonitoringStatus","connPoolStats","getDefaultRWConcern","getCmdLineOpts","getLog","getParameter","getShardMap","hostInfo","inprog","listDatabases","listSessions","listShards","netstat","replSetGetConfig","replSetGetStatus","serverStatus", # ------> serverStatus 特权 "shardingState","top", "useUUID"]
}
示例
–uri=<connectionString> 指定可解析的 URI 连接字符串 MongoDB 部署的信息,用引号引起来:
root@ubuntu-x64_01:/opt# mongostat 5 --uri='mongodb://admin:******@192.168.88.11:27018/admin?authSource=admin'
2023-07-28T14:51:32.527+0800 WARNING: On some systems, a password provided directly in a connection string or using --uri may be visible to system status programs such as `ps` that may be invoked by other users. Consider omitting the password to provide it via stdin, or using the --config option to specify a configuration file with the password.
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn set repl time*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 105M 0|0 1|0 455b 10.9k 9 sit_rs1 SEC Jul 28 14:51:37.564*0 *0 *0 *0 0 2|0 0.0% 0.3% 0 1.78G 105M 0|0 1|0 437b 11.1k 9 sit_rs1 SEC Jul 28 14:51:42.563*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 105M 0|0 1|0 456b 11.0k 9 sit_rs1 SEC Jul 28 14:51:47.565*0 *0 *0 *0 0 2|0 0.0% 0.3% 0 1.78G 105M 0|0 1|0 438b 11.1k 9 sit_rs1 SEC Jul 28 14:51:52.560*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 105M 0|0 1|0 456b 11.0k 9 sit_rs1 SEC Jul 28 14:51:57.561*0 *0 *0 *0 0 2|0 0.0% 0.3% 0 1.78G 105M 0|0 1|0 437b 11.1k 9 sit_rs1 SEC Jul 28 14:52:02.560*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 105M 0|0 1|0 456b 11.0k 9 sit_rs1 SEC Jul 28 14:52:07.562*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 105M 0|0 1|0 398b 11.1k 9 sit_rs1 SEC Jul 28 14:52:12.564*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 105M 0|0 1|0 495b 11.0k 9 sit_rs1 SEC Jul 28 14:52:17.565*0 *0 *0 *0 0 1|0 0.0% 0.3% 1 1.78G 105M 0|0 1|0 399b 10.9k 9 sit_rs1 SEC Jul 28 14:52:22.557
100.0从版本开始 mongostat ,连接字符串也可以作为位置参数提供,而不使用 --uri 选项:作为位置参数,可以在命令行上的任何点指定连接字符串,只要它以 mongodb:// 或 mongodb+srv:// 开头。例如:
root@ubuntu-x64_01:/opt# mongostat 5 --username admin --password ****** mongodb://192.168.88.11:27018 --authenticationDatabase=admin
2023-07-28T14:54:07.588+0800 WARNING: On some systems, a password provided directly using --password may be visible to system status programs such as `ps` that may be invoked by other users. Consider omitting the password to provide it via stdin, or using the --config option to specify a configuration file with the password.
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn set repl time*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 106M 0|0 1|0 415b 10.9k 9 sit_rs1 SEC Jul 28 14:54:12.614*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 106M 0|0 1|0 478b 11.2k 9 sit_rs1 SEC Jul 28 14:54:17.612*0 *0 *0 *0 0 1|0 0.0% 0.3% 1 1.78G 106M 0|0 1|0 416b 10.9k 9 sit_rs1 SEC Jul 28 14:54:22.614*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 106M 0|0 1|0 438b 11.2k 9 sit_rs1 SEC Jul 28 14:54:27.612*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 106M 0|0 1|0 455b 10.9k 9 sit_rs1 SEC Jul 28 14:54:32.616*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 106M 0|0 1|0 439b 11.0k 9 sit_rs1 SEC Jul 28 14:54:37.608*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 106M 0|0 1|0 455b 11.0k 9 sit_rs1 SEC Jul 28 14:54:42.616*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 106M 0|0 1|0 439b 11.0k 9 sit_rs1 SEC Jul 28 14:54:47.610*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 106M 0|0 1|0 455b 11.1k 9 sit_rs1 SEC Jul 28 14:54:52.615*0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 106M 0|0 1|0 439b 11.0k 9 sit_rs1 SEC Jul 28 14:54:57.610
或者,您可以使用 --host 和 --port 指定主机和端口的选项:如果 mongod 实例需要认证,可以指定用户 -u,以及认证数据库 --authenticationDatabase。如果省略 --password 选项会提示输入密码。
root@ubuntu-x64_01:/opt# mongostat 5 --username=admin --password=****** --authenticationDatabase=admin --host=192.168.88.11 --port=27017
2023-07-28T15:00:25.446+0800 WARNING: On some systems, a password provided directly using --password may be visible to system status programs such as `ps` that may be invoked by other users. Consider omitting the password to provide it via stdin, or using the --config option to specify a configuration file with the password.
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn set repl time*0 *0 *0 *0 0 2|0 0.0% 0.2% 0 1.83G 106M 0|0 1|0 1.43k 11.6k 17 sit_rs1 PRI Jul 28 15:00:30.478*0 *0 *0 *0 0 2|0 0.0% 0.2% 0 1.83G 106M 0|0 1|0 1.01k 11.7k 17 sit_rs1 PRI Jul 28 15:00:35.472*0 *0 *0 *0 0 2|0 0.0% 0.2% 0 1.83G 106M 0|0 1|0 1.63k 11.7k 17 sit_rs1 PRI Jul 28 15:00:40.470*0 *0 *0 *0 0 2|0 0.0% 0.2% 0 1.83G 106M 0|0 1|0 1.01k 11.7k 17 sit_rs1 PRI Jul 28 15:00:45.469*0 *0 *0 *0 0 2|0 0.0% 0.2% 0 1.83G 106M 0|0 1|0 1.43k 11.6k 17 sit_rs1 PRI Jul 28 15:00:50.474*0 *0 *0 *0 0 2|0 0.0% 0.2% 0 1.83G 106M 0|0 1|0 970b 11.5k 17 sit_rs1 PRI Jul 28 15:00:55.468*0 *0 *0 *0 0 2|0 0.0% 0.2% 0 1.83G 106M 0|0 1|0 1.55k 11.9k 17 sit_rs1 PRI Jul 28 15:01:00.471*0 *0 *0 *0 0 2|0 0.0% 0.2% 0 1.83G 106M 0|0 1|0 970b 11.5k 17 sit_rs1 PRI Jul 28 15:01:05.469*0 *0 *0 *0 0 2|0 0.0% 0.2% 0 1.83G 106M 0|0 1|0 1.47k 11.8k 17 sit_rs1 PRI Jul 28 15:01:10.473*0 *0 *0 *0 1 4|0 0.0% 0.2% 0 1.83G 106M 0|0 1|0 2.98k 13.3k 17 sit_rs1 PRI Jul 28 15:01:15.468
连接到副本集或分片集群,使用 --discover 选项 发现并报告所有成员的统计数据 。
- 在许多情况下,使用 --discover选项将有助于提供整个机器组状态的更完整的快照。如果连接到分片集群的mongos进程运行在本地机器的27017端口上,您可以使用以下表格返回集群所有成员的统计信息:
root@ubuntu-x64_01:/opt# mongostat 5 'mongodb://admin:******@192.168.88.11:27017,192.168.88.11:27018,192.168.88.11:27019/admin?authSource=admin&replicaSet=sit_rs1&readPreference=primary&ssl=false' --discoverhost insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn set repl time
192.168.88.11:27017 *0 *0 *0 *0 0 1|0 0.0% 0.2% 0 1.83G 107M 0|0 1|0 875b 11.1k 17 sit_rs1 PRI Jul 28 15:09:56.999
192.168.88.11:27018 *0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 107M 0|0 1|0 395b 10.8k 9 sit_rs1 SEC Jul 28 15:09:57.017
192.168.88.11:27019 *0 *0 *0 *0 0 1|0 0.0% 0.4% 0 1.78G 116M 0|0 1|0 395b 10.8k 10 sit_rs1 SEC Jul 28 15:09:57.042192.168.88.11:27017 *0 *0 *0 *0 0 3|0 0.0% 0.2% 0 1.83G 107M 0|0 1|0 1.57k 12.2k 17 sit_rs1 PRI Jul 28 15:10:01.990
192.168.88.11:27018 *0 *0 *0 *0 0 2|0 0.0% 0.3% 0 1.78G 107M 0|0 1|0 498b 11.2k 9 sit_rs1 SEC Jul 28 15:10:02.020
192.168.88.11:27019 *0 *0 *0 *0 0 2|0 0.0% 0.4% 0 1.78G 116M 0|0 1|0 539b 11.4k 10 sit_rs1 SEC Jul 28 15:10:02.036192.168.88.11:27017 *0 *0 *0 *0 0 1|0 0.0% 0.2% 0 1.83G 107M 0|0 1|0 875b 11.1k 17 sit_rs1 PRI Jul 28 15:10:06.996
192.168.88.11:27018 *0 *0 *0 *0 0 1|0 0.0% 0.3% 0 1.78G 107M 0|0 1|0 396b 10.8k 9 sit_rs1 SEC Jul 28 15:10:07.019
192.168.88.11:27019 *0 *0 *0 *0 0 1|0 0.0% 0.4% 0 1.78G 116M 0|0 1|0 395b 10.8k 10 sit_rs1 SEC Jul 28 15:10:07.042192.168.88.11:27017 *0 *0 *0 *0 0 3|0 0.0% 0.2% 0 1.83G 107M 0|0 1|0 1.53k 12.0k 17 sit_rs1 PRI Jul 28 15:10:11.996
192.168.88.11:27018 *0 *0 *0 *0 0 2|0 0.0% 0.3% 0 1.78G 107M 0|0 1|0 498b 11.2k 9 sit_rs1 SEC Jul 28 15:10:12.016
192.168.88.11:27019 *0 *0 *0 *0 0 2|0 0.0% 0.4% 0 1.78G 116M 0|0 1|0 538b 11.4k 10 sit_rs1 SEC Jul 28 15:10:12.044
在交互式界面中查看统计信息使用 --interactive 以非滚动方式查看统计信息的选项 风格的交互式输出。这 --interactive 选项允许您突出显示要查看的特定主机、列或字段。当与 --discover, --interactive 显示副本集或分片集群的所有成员的统计信息,如下例所示:
- 退出: ‘q’ or <Esc>
- 高亮:
‘v’ 用于切换行
‘c’ 用于切换列
‘s’ 用于切换单元格
<Space> 清除所有高亮显示 - 重绘: 'r’修复损坏的输出。
- 箭头: 用定位行、列、单元格。
#
root@ubuntu-x64_01:/opt# mongostat 5 'mongodb://admin:******@192.168.88.11:27017,192.168.88.11:27018,192.168.88.11:27019/admin?authSource=admin&replicaSet=sit_rs1&readPreference=primary&ssl=false' --discover --interactivehost insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn set repl time
192.168.88.11:27017 *0 *0 *0 *0 0 2|0 0.1% 0.3% 0 1.83G 107M 0|0 1|0 1.44k 11.9k 17 sit_rs1 PRI Jul 28 16:24:02.819
192.168.88.11:27018 *0 *0 *0 *0 0 1|0 0.1% 0.3% 0 1.79G 106M 0|0 1|0 398b 10.9k 9 sit_rs1 SEC Jul 28 16:24:02.829
192.168.88.11:27019 *0 *0 *0 *0 0 1|0 0.1% 0.4% 0 1.79G 102M 0|0 1|0 397b 10.9k 10 sit_rs1 SEC Jul 28 16:24:02.856Press '?' to toggle help
-o 指定 mongostat 输出字段。您可以指定任何 serverStatus 作为 mongostat 输出列。
以下示例使用自定义字段 mongostat:
root@ubuntu-x64_01:/opt# mongostat 5 --username=admin --password=****** --authenticationDatabase=admin --host=192.168.88.11 --port=27017 -o='host,opcounters.insert.rate()=Insert Rate,opcounters.query.rate()=Query Rate,opcounters.command.rate()=Command Rate,wiredTiger.cache.pages requested from the cache=Pages Req,metrics.document.inserted=inserted rate'host Insert Rate Query Rate Command Rate Pages Req inserted rate
192.168.88.11:27017 0 0 1 101249 0
192.168.88.11:27017 0 0 2 101303 0
192.168.88.11:27017 0 0 1 101340 0
192.168.88.11:27017 0 0 2 101394 0
192.168.88.11:27017 0 0 2 101431 0
192.168.88.11:27017 0 0 2 101487 0
192.168.88.11:27017 0 0 2 101524 0
192.168.88.11:27017 0 0 2 101578 0
192.168.88.11:27017 0 0 2 101798 0# --discover --interactive 显示副本集或分片集群的所有成员的统计信息
root@ubuntu-x64_01:/opt# mongostat 5 'mongodb://admin:******@192.168.88.11:27017,192.168.88.11:27018,192.168.88.11:27019/admin?authSource=admin&replicaSet=sit_rs1&readPreference=primary&ssl=false' -o='host,opcounters.insert.rate()=Insert Rate,opcounters.query.rate()=Query Rate,opcounters.command.rate()=Command Rate,wiredTiger.cache.pages requested from the cache=Pages Req,metrics.document.inserted=inserted rate' --discover --interactive host Insert Rate Query Rate Command Rate Pages Req inserted rate
192.168.88.11:27017 0 0 1 160296 0
192.168.88.11:27018 0 0 1 118386 0
192.168.88.11:27019 0 0 1 132224 0Press '?' to toggle help
| 计算器 | 自定义字段名 |
|---|---|
| opcounters.insert.rate | 插入率 |
| opcounters.query.rate | 查询率 |
| opcounters.command.rate | 命令率 |
| wiredTiger.cache.pages | 页面请求 |
| metrics.document.inserted | 页面重新插入率 |
Fields
mongostat 返回反映 1 秒内操作的值。当mongostat <sleeptime> 的值大于 1 时,mongostat 对统计数据进行平均以反映每秒的平均操作数。mongostat 输出以下字段:
| 字段 | 描述 |
|---|---|
| host | 主机节点的IP地址 |
| inserts | 每秒插入数据库的对象数。如果后跟星号(例如*),则该数据指的是复制操作 |
| query | 每秒的查询操作数。 |
| update | 每秒更新操作的数量。 |
| delete | 每秒删除操作的数量。 |
| getmore | 每秒获取更多(即光标批处理)操作的数量。 |
| command | 每秒的命令数。在辅助系统上,mongostat 由管道字符分隔 表示两个值(例如:“ |
| flushes | 对于WiredTiger存储引擎,flushes 指的是每个轮询间隔之间触发的 WiredTiger 检查点的数量。 |
| dirty | 仅适用于WiredTiger存储引擎。WiredTiger 缓存中脏字节的百分比。 |
| used | 仅适用于WiredTiger存储引擎。正在使用的 WiredTiger 缓存的百分比。 |
| vsize | 在最后一次调用mongostat时,进程使用的虚拟内存量(以兆字节为单位)。 |
| res | 在最后一次调用mongostat时,进程使用的驻留内存量(以兆字节为单位)。 |
| locked | 全局写锁的时间百分比。仅在MongoDB实例的3.0之前版本上运行时出现。 |
| qr | 等待从 MongoDB 实例读取数据的客户端队列的长度。 |
| qw | 等待从 MongoDB 实例写入数据的客户端队列的长度。 |
| ar | 执行读取操作的活动客户端数量。 |
| aw | 执行写入操作的活动客户端数量。 |
| netIn | MongoDB 实例接收的网络流量(以字节为单位) 。这包括来自mongostat本身。 |
| netOut | MongoDB 实例发送的网络流量(以字节为单位) 。这包括来自mongostat本身。 |
| conn | 打开连接的总数。 |
| set | 副本集的名称(如果适用)。 |
| repl | 成员的复制状态。 |
相关文章:
mongostat跟踪Mongodb运行的状态
版本控制 从 MongoDB 4.4 开始,mongostat 现在与 MongoDB 服务器分开发布,并使用自己的版本控制,初始版本为100.0.0. 之前, mongostat 与 MongoDB Server 一起发布并使用匹配的版本控制。 兼容性 mongostat 版本100.7.3支持以下…...
华为数通HCIA-数通网络基础
基础概念 通信:两个实体之间进行信息交流 数据通信:网络设备之间进行的通信 计算机网络:实现网络设备之间进行数据通信的媒介 园区网络(企业网络)/私网/内网:用于实现园区内部互通,并且需要部…...
【设计模式】详解单例设计模式(包含并发、JVM)
文章目录 1、背景2、单例模式3、代码实现1、第一种实现(饿汉式)为什么属性都是static的?2、第二种实现(懒汉式,线程不安全)3、第三种实现(懒汉式,线程安全)4、第四种实现…...
监控和可观察性在 DevOps 中的作用!
在不断发展的DevOps世界中,深入了解系统行为、诊断问题和提高整体性能的能力是首要任务之一。监控和可观察性是促进这一过程的两个关键概念,为系统的健康状况和性能提供有价值的可见性。虽然这些术语经常互换使用,但它们代表了理解和管理复杂…...
论文分享:PowerTCP: Pushing the Performance Limits of Datacenter Networks
1 原论文的题目(中英文)、题目中包含了哪些关键词?这些关键词的相关知识分别是什么? 题目:PowerTCP: Pushing the Performance Limits of Datacenter Networks PowerTCP:逼近数据中心的网络性能极限 2 论…...
浏览器的同源策略 - 跨域问题
1.什么是跨域 跨域问题的实质是浏览器的同源策略造成的。浏览器同源策略是浏览器为 JavaScript 施加的限制。简单点说就是非同源会出现如下等限制: 无法访问其他源下的网页的 Cookies,Storage等;无法访问其他源下的DOM对象和 JS 对象;无法使…...
go 查询采购单设备事项[小示例]V2-两种模式{严格,包含模式}
第一版: https://mp.csdn.net/mp_blog/creation/editor/131979385 第二版: 优化内容: 检索数据的两种方式: 1.严格模式--找寻名称是一模一样的内容,在上一个版本实现了 2.包含模式,也就是我输入检索关…...
c++11 标准模板(STL)(std::basic_filebuf)(八)
定义于头文件 <fstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_filebuf : public std::basic_streambuf<CharT, Traits> std::basic_filebuf 是关联字符序列为文件的 std::basic_streambuf 。输入序…...
行为型模式之解释器模式
解释器模式(Interpreter Pattern) 解释器模式(Interpreter Pattern)是一种行为设计模式,它用于对语言的文法进行解释和解析,以实现特定的操作。 在解释器模式中,存在以下几个角色: 抽…...
阿里云域名备案
最好的爱情,不是因为我们彼此需要在一起,而是因为我们彼此想要在一起。 阿里云的域名如何备案,域名备案和ICP备案一样吗?? 截至我所掌握的知识(2021年9月),阿里云的域名备案和ICP备案…...
Clion开发Stm32之温湿度传感器(DS18B20)驱动编写和测试
前言 涵盖之前文章: Clion开发STM32之HAL库GPIO宏定义封装(最新版)Clion开发stm32之微妙延迟(采用nop指令实现)Clion开发STM32之日志模块(参考RT-Thread) DSP18B20驱动文件 头文件 /*******************************************************************************Copy…...
文档管理NAS储存安全吗?
关键词:私有化、知识管理系统、文档管理、群晖NAS、协同编辑 随着企业不断发展扩大,企业的知识文档也逐渐增多,很多企业方便管理及考虑数据安全问题会将文件数据储存至NAS。 但将企业文档数据放在NAS上就足够安全的吗? 天翎文档管…...
用windeployqt.exe打包Qt代码
首先找到我们编译Qt代码的对应Qt版本的dll目录,该目录下有windeployqt.exe: D:\DevTools\Qt\5.9\msvc2017_64\bin 在这个目录下打开cmd程序。 然后把要打包的exe放到一个单独的目录下,比如: 然后在cmd中调用: winde…...
【Python机器学习】实验04(2) 机器学习应用实践--手动调参
文章目录 机器学习应用实践1.1 准备数据此处进行的调整为:要所有数据进行拆分 1.2 定义假设函数Sigmoid 函数 1.3 定义代价函数1.4 定义梯度下降算法gradient descent(梯度下降) 此处进行的调整为:采用train_x, train_y进行训练 1.5 绘制决策边界1.6 计算…...
【爬虫案例】用Python爬取iPhone14的电商平台评论
用python爬取某电商网站的iPhone14评论数据, 爬取目标: 核心代码如下: 爬取到的5分好评: 爬取到的3分中评: 爬取到的1分差评: 所以说,用python开发爬虫真的很方面! 您好&…...
01)docker学习 centos7离线安装docker
docker学习 centos7离线安装docker 在实操前可以先看下docker教程,https://www.runoob.com/docker/docker-tutorial.html , 不过教程上都是在线安装方式,很方便,离线安装肯定比如在线麻烦点。 一、什么是Docker 在学习docker时,在网上看到一篇博文讲得很好,自己总结一下…...
前端 - 实习两个星期总结
文章目录 吐槽总结新人建议项目学习到的 今天已经是菜鸟实习的第二个星期了,怎么说呢,反正就是进的一个不大不小的厂,做着不难不易的事,菜鸟现在主要做的就是适配!现在就来总结一下,不过这之前,…...
MySQL——主从复制
1.理解MySQL主从复制原理。 2.完成MySQL主从复制。 1.理解MySQL主从复制原理。 1)、MySQL支持的复制类型 (1)、基于语句( statement )的复制 在主服务器上执行SQL 语句,在从服务器上执行同样的语句。 My…...
报表下载工具
1.需求说明 我有一堆文件的Url地址, 现在需要按照企业,项目和报表类型分类下载到对应的文件夹中 2.相关实体类 企业文件夹定义 package com.vz.utils.report;import lombok.Data; import java.util.ArrayList; import java.util.List; import java.uti…...
树及其遍历
文章目录 树树定义专业术语树分类 二叉树分类存储连续存储(完全二叉树)链式存储一般树的存储森林的存储 线索二叉树哈夫曼树构造步骤 遍历先序遍历中序遍历后续遍历 链式二叉树遍历具体代码已知两种遍历序列求原始二叉树已知先序和中序求后序已知中序和后…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...
数据库——redis
一、Redis 介绍 1. 概述 Redis(Remote Dictionary Server)是一个开源的、高性能的内存键值数据库系统,具有以下核心特点: 内存存储架构:数据主要存储在内存中,提供微秒级的读写响应 多数据结构支持&…...
