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…...

树及其遍历
文章目录 树树定义专业术语树分类 二叉树分类存储连续存储(完全二叉树)链式存储一般树的存储森林的存储 线索二叉树哈夫曼树构造步骤 遍历先序遍历中序遍历后续遍历 链式二叉树遍历具体代码已知两种遍历序列求原始二叉树已知先序和中序求后序已知中序和后…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...

JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...

uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...