Docker Compose 部署 Loki
官方文档:https://grafana.com/docs/loki/latest/setup/install/docker/
环境准备
安装 Docker和Docker Compose
- 参考:https://qiangsh.blog.csdn.net/article/details/125375187
创建loki目录
mkdir -p /opt/loki/config
mkdir -p /data/monitoring/loki/
拷贝配置
##运行容器
docker run --rm -d --name=loki-test \
--user root grafana/loki:3.4.2##从容器拷贝配置文件
docker cp loki-test:/etc/loki/. /opt/loki/config/
docker cp loki-test:/loki/. /data/monitoring/loki/##释放容器
docker stop loki-test
docker-compose 配置
参考:https://grafana.org.cn/docs/loki/latest/configure/
cat /opt/loki/config/local-config.yaml
Loki v3.4.x 配置
- https://grafana.com/docs/loki/v3.4.x/configure/#storage_config
# 启用通过X-Scope-OrgID头进行身份验证,如果为真,则必须存在。如果为假,则OrgID将始终设置为'fake'。 CLI标志:-auth.enabled
auth_enabled: falseserver:http_listen_port: 3100grpc_listen_port: 9096 # gRPC server listen port.grpc_server_max_recv_msg_size: 104857600 # 限制此服务器可以接收的 gRPC 消息的大小(字节)。grpc_server_max_send_msg_size: 104857600 # 限制此服务器可以发送的 gRPC 消息的大小(字节)。grpc_server_max_concurrent_streams: 0 # 限制 gRPC 调用的并发流数(0 = 无限制)graceful_shutdown_timeout: 300s # 正常关机的超时| default = 30shttp_server_read_timeout: 90s # HTTP服务器的读取超时| default = 30shttp_server_write_timeout: 90s # HTTP服务器的读取超时| default = 30shttp_server_idle_timeout: 300singester:wal:enabled: truedir: /loki/wallifecycler: # 配置输入的生命周期将如何运行以及它将在何处注册以进行发现。address: 127.0.0.1ring:kvstore:store: inmemoryreplication_factor: 1final_sleep: 0schunk_idle_period: 1h # 此时未收到新日志的任何区块都将被刷新。如果块未达到最大块大小,则在刷新之前,块应在内存中放置多长时间,没有更新。这意味着半空的块在一段时间后仍然会被刷新,只要它们没有收到进一步的活动。max_chunk_age: 1h # 所有块在达到此年龄时将被刷新,默认值为 1hchunk_target_size: 1048576 # Loki 将尝试构建最大 1.5MB 的块,如果首先达到 chunk_idle_period 或 max_chunk_age,则首先 刷新chunk_retain_period: 1m # 如果使用索引缓存,则必须大于索引读缓存 TTL(默认索引读缓存 TTL 为 5m)#max_transfer_retries: 0 # 已禁用区块传输chunk_encoding: gzip # 用于压缩块的算法。(none, gzip, lz4-64k, snappy, lz4-256k, lz4-1M, lz4, flate, zstd)| default = "gzip"chunk_block_size: 262144 # 块块的目标 _uncompressed_ 大小(以字节为单位) 当超过此阈值时,头块将被切割并压缩在块内。# 配置区块索引架构及其存储位置。
schema_config:configs:- from: "2020-10-24"store: boltdb-shipperobject_store: filesystemschema: v11index:prefix: index_period: 24h# New TSDB schema below- from: "2025-03-18"store: tsdbobject_store: awsschema: v13index:prefix: loki_index_period: 24hstorage_config:boltdb_shipper:active_index_directory: /loki/boltdb-shipper-activecache_location: /loki/boltdb-shipper-cachecache_ttl: 24h # 可以增加以在更长的查询周期内提高性能,使用更多的磁盘空间filesystem:directory: /loki/chunks# New tsdb-shipper configurationtsdb_shipper:active_index_directory: /loki/tsdb-activecache_location: /loki/tsdb-cachecache_ttl: 24h # 可以在较长的查询周期内提高性能,使用更多磁盘空间aws:access_key_id: xxxxxxxxxxxxxxxbucketnames: ops-lokiendpoint: obs.cn-north-4.myhuaweicloud.cominsecure: trueregion: cn-north-4s3: http://obs.cn-north-4.myhuaweicloud.coms3forcepathstyle: falsesecret_access_key: Mxxxxxxxxxxxxxxxxxxxxxxxxxxx# 压缩器块配置压缩器组件,该组件压缩索引分片以提高性能。
compactor:working_directory: /loki/boltdb-shipper-compactor # 是将保存标记 chunks 和临时表的目录。retention_enabled: truecompaction_interval: 10m # 决定了应用压缩和/或保留的频率。如果 Compactor 落后,则会尽快进行压缩和/或保留。delete_request_store: filesystem # 应设置配置为 DELETE 请求的存储。启用保留时,这是必需的。retention_delete_worker_count: 300 # 指定了实例化以删除 chunks 的 goroutine worker 的最大数量。retention_delete_delay: 2h # 是 Compactor 将删除标记 chunks 的延迟时间。# limits_config块在 Loki 中配置全局和每租户限制。
limits_config:# 全局应用于所有日志流。retention_period: 2160h # 数据存储的保留期,仅在 compactor 配置中 retention_enabled 为 true 时适用。从版本 2.8.0 开始,空值 0 或 0s 将禁用保留。默认值(30 天)保留。744hmax_query_lookback: 2160h # 限制可以查询的时间序列数据和元数据的回溯时间,直到回溯持续时间之前。此限制在查询frontend 、querier和ruler中强制执行。如果请求的时间范围超出允许的范围,则请求不会失败,但会修改为仅查询允许的时间范围内的数据。默认值 0 不设置限制。retention_stream: # 仅应用于与选择器匹配的日志流。- selector: '{env="test"}'priority: 1 # priority 值越大,优先级越高。period: 72h # 保留期为 72 小时。- selector: '{env="pre"}'priority: 1period: 720hreject_old_samples: true # 旧采样是否会被拒绝。reject_old_samples_max_age: 168h # 在拒绝之前,接受最大样本年龄。default = 1wmax_label_name_length: 512 # 标签名称可接受的最大长度。default = 1024max_query_length: 200d1h # 块存储查询的长度限制。0 表示禁用。per_stream_rate_limit: 20M # 每个流每秒的最大字节速率,也可以以人类可读的形式(1MB、256KB 等)表示。default = 3MBingestion_rate_strategy: local # 引入速率限制单独应用于每个分发服务器实例(本地)ingestion_rate_mb: 50 # 每个用户每秒的采样率限制. 单位单位(以 MB 为单位)。ingestion_burst_size_mb: 50 # 每个用户允许的采样突发大小 单位单位(以 MB 为单位)。# chunk_store_config 块配置块的缓存方式以及将其保存到后备存储之前要等待的时间。
chunk_store_config:cache_lookups_older_than: 0s # 缓存早于此时间段的索引条目。0 表示禁用。default = 0s#max_look_back_period: 0s #此标志已弃用。使用-querier.max-query-lookback代替。default = 0s# table_manager块配置表管理器以进行保留。
table_manager:chunk_tables_provisioning:inactive_read_throughput: 0inactive_write_throughput: 0provisioned_read_throughput: 0provisioned_write_throughput: 0index_tables_provisioning:inactive_read_throughput: 0inactive_write_throughput: 0provisioned_read_throughput: 0provisioned_write_throughput: 0retention_deletes_enabled: true # 如果为 true,则启用数据库表的保留删除retention_period: 2880h # 早于此保留期的表将被删除。表的保留日期 180天。启用后,请注意此设置对数据具有破坏性!# query_range 块配置 Loki query-frontend 中的查询拆分和缓存。
query_range:results_cache:# https://grafana.org.cn/docs/loki/latest/configure/#cache_configcache: # cache_config 块配置特定 Loki 组件的缓存后端。embedded_cache:enabled: true # 是否启用内置缓存。max_size_mb: 2048 # 缓存的最大内存大小 (MB)。| default = 100ttl: 1h # 缓存中项目在被清除之前的生存时间。| default = 1h
ruler:# 用于后端规则存储的方法(configdb、azure、gcs、s3、swift、local、bos)storage:type: locallocal:directory: /loki/rulesrule_path: /loki/rules-temp # 用于存储临时规则文件的文件路径。alertmanager_url: https://alertmanager.qqqqq.comring:# 用于ring的后端存储。支持的值有:consul、etcd、inmemory、memberlist、multi。kvstore:store: inmemoryenable_api: true # Enable the ruler API.enable_alertmanager_v2: truequery_scheduler:max_outstanding_requests_per_tenant: 2048 # 限制每个租户(tenant)的最大未完成请求数,目的是控制每个租户在同时发起的 请求数量,以防止滥用或超出系统资源的范围。
Loki v2.8.x 配置
- https://grafana.com/docs/loki/v2.8.x/configuration/
# 启用通过X-Scope-OrgID头进行身份验证,如果为真,则必须存在。如果为假,则OrgID将始终设置为'fake'。 CLI标志:-auth.enabled
auth_enabled: falseserver:http_listen_port: 3100grpc_listen_port: 9096 # gRPC server listen port.grpc_server_max_recv_msg_size: 104857600 # 限制此服务器可以接收的 gRPC 消息的大小(字节)。grpc_server_max_send_msg_size: 104857600 # 限制此服务器可以发送的 gRPC 消息的大小(字节)。grpc_server_max_concurrent_streams: 0 # 限制 gRPC 调用的并发流数(0 = 无限制)graceful_shutdown_timeout: 300s # 正常关机的超时| default = 30shttp_server_read_timeout: 90s # HTTP服务器的读取超时| default = 30shttp_server_write_timeout: 90s # HTTP服务器的读取超时| default = 30shttp_server_idle_timeout: 300singester:wal:enabled: truedir: /loki/wallifecycler: # 配置输入的生命周期将如何运行以及它将在何处注册以进行发现。address: 127.0.0.1ring:kvstore:store: inmemoryreplication_factor: 1final_sleep: 0schunk_idle_period: 1h # 此时未收到新日志的任何区块都将被刷新。如果块未达到最大块大小,则在刷新之前,块应在内存中放置多长时间,没有更新。这意味着半空的块在一段时间后仍然会被刷新,只要它们没有收到进一步的活动。max_chunk_age: 1h # 所有块在达到此年龄时将被刷新,默认值为 1hchunk_target_size: 1048576 # Loki 将尝试构建最大 1.5MB 的块,如果首先达到 chunk_idle_period 或 max_chunk_age,则首先刷新chunk_retain_period: 1m # 如果使用索引缓存,则必须大于索引读缓存 TTL(默认索引读缓存 TTL 为 5m)max_transfer_retries: 0 # 已禁用区块传输chunk_encoding: gzip # 用于压缩块的算法。(none, gzip, lz4-64k, snappy, lz4-256k, lz4-1M, lz4, flate, zstd)| default = "gzip"chunk_block_size: 262144 # 块块的目标 _uncompressed_ 大小(以字节为单位) 当超过此阈值时,头块将被切割并压缩在块内。# 配置区块索引架构及其存储位置。
schema_config:configs:- from: "2020-10-24"store: boltdb-shipperobject_store: filesystemschema: v11index:prefix: index_period: 24hstorage_config:boltdb_shipper:active_index_directory: /loki/boltdb-shipper-activecache_location: /loki/boltdb-shipper-cachecache_ttl: 24h # 可以增加以在更长的查询周期内提高性能,使用更多的磁盘空间shared_store: filesystemfilesystem:directory: /loki/chunks# 压缩器块配置压缩器组件,该组件压缩索引分片以提高性能。
compactor:working_directory: /loki/boltdb-shipper-compactor # 是将保存标记 chunks 和临时表的目录。retention_enabled: trueshared_store: filesystem # 用于存储 boltdb 文件的共享存储。支持的类型:gcs、s3、azure, swift, filesystem, bos.compaction_interval: 10m # 决定了应用压缩和/或保留的频率。如果 Compactor 落后,则会尽快进行压缩和/或保留。retention_delete_worker_count: 150 # 指定了实例化以删除 chunks 的 goroutine worker 的最大数量。retention_delete_delay: 2h # 是 Compactor 将删除标记 chunks 的延迟时间。# limits_config块在 Loki 中配置全局和每租户限制。
limits_config:# 全局应用于所有日志流。retention_period: 4320h # 数据存储的保留期,仅在 compactor 配置中 retention_enabled 为 true 时适用。从版本 2.8.0 开始,空值 0 或 0s 将禁用保留。默认值(30 天)保留。744hretention_stream: # 仅应用于与选择器匹配的日志流。- selector: '{namespace="test"}'priority: 1 # priority 值越大,优先级越高。period: 72h # 保留期为 72 小时。reject_old_samples: true # 旧采样是否会被拒绝。reject_old_samples_max_age: 168h # 在拒绝之前,接受最大样本年龄。default = 1wmax_label_name_length: 512 # 标签名称可接受的最大长度。default = 1024max_query_length: 200d1h # 块存储查询的长度限制。0 表示禁用。per_stream_rate_limit: 20M # 每个流每秒的最大字节速率,也可以以人类可读的形式(1MB、256KB 等)表示。default = 3MBingestion_rate_strategy: local # 引入速率限制单独应用于每个分发服务器实例(本地)ingestion_rate_mb: 50 # 每个用户每秒的采样率限制. 单位单位(以 MB 为单位)。ingestion_burst_size_mb: 50 # 每个用户允许的采样突发大小 单位单位(以 MB 为单位)。# chunk_store_config 块配置块的缓存方式以及将其保存到后备存储之前要等待的时间。
chunk_store_config:cache_lookups_older_than: 0s # 缓存早于此时间段的索引条目。0 表示禁用。default = 0s#max_look_back_period: 0s #此标志已弃用。使用-querier.max-query-lookback代替。default = 0s# table_manager块配置表管理器以进行保留。
table_manager:chunk_tables_provisioning:inactive_read_throughput: 0inactive_write_throughput: 0provisioned_read_throughput: 0provisioned_write_throughput: 0index_tables_provisioning:inactive_read_throughput: 0inactive_write_throughput: 0provisioned_read_throughput: 0provisioned_write_throughput: 0retention_deletes_enabled: true # 如果为 true,则启用数据库表的保留删除retention_period: 4320h # 早于此保留期的表将被删除。表的保留日期 180天。启用后,请注意此设置对数据具有破坏性!ruler:# 用于后端规则存储的方法(configdb、azure、gcs、s3、swift、local、bos)storage:type: locallocal:directory: /loki/rulesrule_path: /loki/rules-temp # 用于存储临时规则文件的文件路径。alertmanager_url: https://alertmanager.qqq.comring:# 用于ring的后端存储。支持的值有:consul、etcd、inmemory、memberlist、multi。kvstore:store: inmemoryenable_api: true # Enable the ruler API.enable_alertmanager_v2: truequery_scheduler:max_outstanding_requests_per_tenant: 2048 # 限制每个租户(tenant)的最大未完成请求数,目的是控制每个租户在同时发起的请求数量,以防止滥用或超出系统资源的范围。
服务配置
cat /opt/loki/docker-compose-loki.yml
注意配置文件的格式为yaml,语法问题请参考yaml规则
version: "3"#配置容器网络
networks:monitor:services:
###添加loki服务loki:user: rootcontainer_name: loki-serverimage: grafana/loki:3.4.2environment:- TZ=Asia/Shanghairestart: unless-stoppedports:- "3100:3100"command: >-config.file=/etc/loki/local-config.yamlvolumes:- "/opt/loki/config:/etc/loki:rw"- "/data/monitoring/loki:/loki:rw"networks:- monitor
启动服务
# 启动容器:
docker-compose -f /opt/loki/docker-compose-loki.yml up -d# 查看状态
docker ps -a
其他操作
# 重启容器:
docker-compose -f /opt/loki/docker-compose-loki.yml restart
docker restart <id># 删除容器:
docker-compose -f /opt/loki/docker-compose-loki.yml down
相关文章:
Docker Compose 部署 Loki
官方文档:https://grafana.com/docs/loki/latest/setup/install/docker/ 环境准备 安装 Docker和Docker Compose 参考:https://qiangsh.blog.csdn.net/article/details/125375187 创建loki目录 mkdir -p /opt/loki/config mkdir -p /data/monitoring…...
nuxt3 seo优化
在 Nuxt3 中,通过 nuxtjs/seo、nuxtjs/sitemap 和 nuxtjs/robots 模块可以生成包含动态链接的站点地图(sitemap.xml),但具体是“实时生成”还是“部署时生成”,取决于你的配置方式和数据更新频率。以下是具体分析&…...
CentOS 8 Stream 配置在线yum源参考 —— 筑梦之路
CentOS 8 Stream ISO 文件下载地址:http://mirrors.aliyun.com/centos-vault/8-stream/isos/x86_64/CentOS-Stream-8-20240603.0-x86_64-dvd1.isoCentOS 8 Stream 网络引导ISO 文件下载地址:http://mirrors.aliyun.com/centos-vault/8-stream/isos/x86_6…...
uniapp 在app上 字体如何不跟着系统字体大小变
在UniApp开发中,默认情况下App的字体可能会跟随系统字体设置而变化。如果你希望保持固定的字体样式,不随系统字体设置改变,可以采用以下几种方法: 方法一:全局CSS设置 在App.vue的样式中添加以下CSS: /*…...
leetcode141.环形链表
直接快慢指针,如果有环,那么快指针一定会在成环的起始点与慢指针相遇 /*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* ListNode(int x) {* val x;* next null;* }* }*/ pu…...
【HTML5游戏开发教程】零基础入门合成大西瓜游戏实战 | JS物理引擎+Canvas动画+完整源码详解
《从咖啡杯到财务自由:一个程序员的合成之旅——当代码遇上物理引擎的匠心之作》 🌟 这是小游戏开发系列的第四篇送福利文章,感谢一路以来支持和关注这个项目的每一位朋友! 💡 文章力求严谨,但难免有疏漏之…...
【C#语言】深入理解C#多线程编程:从基础到高性能实践
文章目录 ⭐前言⭐一、多线程的本质价值🌟1、现代计算需求🌟2、C#线程演进史 ⭐二、线程实现方案对比🌟1、传统线程模型🌟2、现代任务模型(推荐)🌟3、异步编程范式 ⭐三、线程安全深度解析&…...
短信验证码安全需求设计
背景: 近期发现部分系统再短信充值频繁,发现存在恶意消耗短信额度现象,数据库表排查,发现大量非合法用户非法调用短信接口API导致额度耗尽。由于系统当初设计存在安全缺陷,故被不法分子进行利用,造成损失。…...
selenium实现自动登录项目(5)
1、163邮箱自动登录功能 遇到的问题: 1、登录页面,在定位表单时候,采用id,xpath,css selector都无法定位成功,因为id后面有个随机生成的数字(//*[id"x-URS-iframe1741925838640.6785&quo…...
多 线 程
一.基本知识 线程:线程是操作系统能够运行调度的最小单位 进程:进程是程序执行实体 多线程应用场景:拷贝、迁移大文件,加载大量的资源文件 并发:有多个指令在单个cpu上交替执行 并行:在同一时刻人&…...
C#:类型定义中使用问号(?)
在 C# 中,类型定义中的问号(?)主要用于控制类型的可空性,但具体行为因类型(值类型或引用类型)和 C# 版本而异。以下是清晰分类的说明: 一、可空值类型(T?,适用于所…...
基于飞腾FT2000+服务器主板与DeepSeek大模型的国产化AI算力探索
随着国产化处理器和AI技术的快速发展,自主可控的算力解决方案日益受到关注。国内大模型技术飞速发展,Deepseek等大模型在自然语言处理、计算机视觉等领域展现出强大的能力。面对大模型的计算需求,服务器硬件的国产化成为重要趋势。 飞腾FT20…...
知识篇 | Oracle的 TEMP表空间管理和优化
Oracle临时表空间(TEMP)是数据库中用于存储会话级临时数据的核心组件,主要用于支持需要中间结果集的操作(如排序、哈希连接)。其数据在事务结束或会话终止后自动释放,不持久化存储。 核心特点:…...
鸿蒙进行视频上传,使用 request.uploadFile方法
一.拉起选择器进行视频选择,并且创建文件名称 async getPictureFromAlbum() {// 拉起相册,选择图片let PhotoSelectOptions new photoAccessHelper.PhotoSelectOptions();PhotoSelectOptions.MIMEType photoAccessHelper.PhotoViewMIMETypes.VIDEO_TY…...
如何下载 Postman?快速指南!
Postman 是一款非常受欢迎的 API 测试工具。它最初是作为一个 Chrome 插件发布,后来发展成为一款独立的跨平台软件,支持 Windows、Mac、Linux 等操作系统。 Postman 怎么下载教程(2025最新版)?...
Angular由一个bug说起之十五:自定义基于Overlay的Tooltip
背景 工具提示(tooltip)是一个常见的 UI 组件,用于在用户与页面元素交互时提供额外的信息。由于angular/material/tooltip的matTooltip只能显示纯文本,所以我们可以通过自定义Directive来实现一个灵活且功能丰富的tooltip Overlay…...
M系mac怎么关闭sip
SIP是系统级的权限操作,我们无法直接关闭它。记录一下如何成功关闭SIP。 一. 查看自己mac的sip是否关闭,终端中输入该下命令: csrutil status 未关闭:System Integrity Protection status: enabled. 已关闭:System…...
Kafka 的延迟队列、死信队列和重试队列
总结一下实现的方法: 1、延迟队列,首先kafka是没有延迟队列的,那要实现延迟队列的话,就得使用其他方法。在发送消息的时候加上时间戳,再在时间戳上面加上延迟时间。消费的时候判断一下,有没有到达延迟时间&…...
OpenCV正确安装及环境变量配置
安装OpenCV(v4.6.0)安装Python(3.10.6)安装VS2022的C桌面开发,手动勾选Windows 10 SDK和MSVC安装CMake(3.31.6)在.npmrc配置pnpm config set auto-approve-builds true运行pnpm install 接下来是…...
分布式系统的CAP理论、事务和锁实现
分布式系统核心概念 1. CAP理论 CAP理论指出,分布式系统最多同时满足以下三项中的两项: 一致性(CC):所有节点访问同一份最新数据。可用性(AA):每个请求都能在合理时间内获得非错误…...
JBDev - Theos下一代越狱开发工具
JBDev - Theos下一代越狱开发工具 自越狱诞生以来,Theos一直是越狱开发的主流工具,大多数开发者使用Theos编译代码,再用lldb手动调试。JBDev简化了这个过程,项目地址https://github.com/lich4/JBDev 简介 JBDev用于Xcode越狱开…...
vue3自定义动态锚点列表,实现本页面锚点跳转效果
需求:当前页面存在多个模块且内容很长时,需要提供一个锚点列表,可以快速查看对应模块内容 实现步骤: 1.每个模块添加唯一id,添加锚点列表div <template><!-- 模块A --><div id"modalA">…...
华为、浪潮、华三链路聚合概述
1、华为 链路聚合可以提高链路带宽和链路冗余性。有三种类型,分别是手工链路聚合,静态lacp链路聚合,动态lacp链路聚合。 手工链路模式:也称负载分担模式,需手动指定链路,各链路之间平均分担流量。静态LAC…...
RUBY报告系统
我们常用GFP及其变体如RFP、YFP、mCherry等作为基因表达的报告蛋白——需要荧光显微镜制片观察;此外还有GUS或荧光素酶作为报告酶——需要添加底物。 RUBY报告系统则与众不同,其作用原理是:将酪氨酸转化为鲜艳的红色甜菜碱,无需使…...
HO与OH差异之Navigation三
在上一篇内容中我们介绍了HO与OH差异之Navigator,我们也了解了Navigator的基本概念和大致了解了一下他的基础用法,既然谈到差异肯定就不止这两种差异,今天就让我们来了解第三种差异NavRouter,其中在HO中我们并没有这种路由方式但是…...
PyTorch处理数据--Dataset和DataLoader
在 PyTorch 中,Dataset 和 DataLoader 是处理数据的核心工具。它们的作用是将数据高效地加载到模型中,支持批量处理、多线程加速和数据增强等功能。 一、Dataset:数据集的抽象 Dataset 是一个抽象类,用于表示数据集的接口。你…...
Linux搭建NFS服务
1.概述 Network File System的缩写,它最大的功能是可以通过网络使用挂载的方式,让不同的机器、不同的操作系统可以共享彼此的文件 2.名称 软件名 nfs-utils服务名 nfs或者nfs-server 3.端口 nfs-server tcp/2049 负责建立连接 rpcbind tcp/111 负责…...
ubuntu服务器server版安装,ssh远程连接xmanager管理,改ip网络连接。图文教程
ventoy启动服务器版iso镜像,注意看server名称,跟之前desktop版ubuntu不一样。没有gui界面。好,进入命令行界面。语言彻底没汉化了,选英文吧,别的更看不懂。 跟桌面版ubuntu类似,选择是否精简系统࿰…...
GC overhead limit exceeded---Java 虚拟机 (JVM) 在进行垃圾回收内存量非常少解决
背景: 我正在跑一个数据处理较为复杂的程序。然后调试了很多遍,出现了GC问题,如下图bug. GC overhead limit exceeded-这个bug错误通常表示 Java 虚拟机 (JVM) 在进行垃圾回收时花费了过多的时间,并且回收的内存量非常少。…...
Pytorch学习笔记(十二)Learning PyTorch - NLP from Scratch
这篇博客瞄准的是 pytorch 官方教程中 Learning PyTorch 章节的 NLP from Scratch 部分。 官网链接:https://pytorch.org/tutorials/intermediate/nlp_from_scratch_index.html 完整网盘链接: https://pan.baidu.com/s/1L9PVZ-KRDGVER-AJnXOvlQ?pwdaa2m 提取码: …...
学习日记0327
A cross-domain knowledge tracing model based on graph optimal transport 我们使用gnn来学习这些节点的特征。在此基础上,我们使用显式分布距离度量对齐来自两个不同域的特征向量,旨在最小化域差异,实现最大的跨域知识转移。 AEGOT-CDKT…...
Postman 下载文件指南:如何请求 Excel/PDF 文件?
在 Postman 中进行 Excel/PDF 文件的请求下载和导出,以下是简明的步骤,帮助你轻松完成任务。首先,我们将从新建接口开始,逐步引导你完成整个过程。 Postman 请求下载/导出 excel/pdf 文件教程...
【HTML】验证与调试工具
个人主页:Guiat 归属专栏:HTML CSS JavaScript 文章目录 1. HTML 验证工具概述1.1 验证的重要性1.2 常见 HTML 错误类型 2. W3C 验证服务2.1 W3C Markup Validation Service2.2 使用 W3C 验证器2.3 验证结果解读 3. 浏览器开发者工具3.1 Chrome DevTools…...
头歌实践教学平台--【数据库概论】--SQL
一、表结构与完整性约束的修改(ALTER) 1.修改表名 USE TestDb1; alter table your_table rename TO my_table; 2.添加与删除字段 #语句1:删除表orderDetail中的列orderDate alter table orderDetail drop orderDate; #语句2:添加列unitPrice alter t…...
2025.03.27【基因分析新工具】| MAST:解锁基因表达差异分析与网络构建
文章目录 1. MAST工具简介:探索生物信息分析的新利器1.1 什么是MAST工具?1.2 MAST工具的优势1.3 MAST工具的应用场景 2. MAST的安装方法:轻松入门的第一步2.1 安装R语言环境2.2 安装MAST包2.3 安装依赖库 3. MAST常用命令:掌握数据…...
JVM - 垃圾回收基本问题
通过一些问题来讨论在 JVM 中,垃圾回收的一些基本问题 为什么要有垃圾回收?Java 垃圾回收中是如何判断一个对象死亡的?请简单介绍一下刚才说到了引用计数法,引用计数法存在什么问题?刚才说到了可达性分析,…...
Python 爬虫案例
以下是一些常见的 Python 爬虫案例,涵盖了不同的应用场景和技术点: 1. 简单网页内容爬取 案例:爬取网页标题和简介 import requests from bs4 import BeautifulSoup url "https://www.runoob.com/" response requests.get(url) …...
从零构建大语言模型全栈开发指南:第三部分:训练与优化技术-3.1.3分布式数据加载与并行处理(PyTorch DataLoader优化)
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 3.1.3 分布式数据加载与并行处理(`PyTorch DataLoader`优化)1. 大规模数据加载的挑战与瓶颈分析1.1 数据加载流程的时间分解2. PyTorch DataLoader的深度优化策略2.1 核心参数调优2.2 分布式数据分片策…...
2025年- G31-Lc105-102. 二叉树层次遍历--java版
1.题目描述 2.思路 思路一: 使用 队列 Queue 来存储当前层的所有节点。关键点在于 levelSize queue.size() 这一行,它决定了当前层的节点数量。 3.代码实现 /*** Definition for a binary tree node.* public class TreeNode {* int val;* Tr…...
Redis 和 MySQL双写一致性的更新策略有哪些?常见面试题深度解答。
目录 一. 业务数据查询,更新顺序简要分析 二. 更新数据库、查询数据库、更新缓存、查询缓存耗时对比 2.1 更新数据库(最慢) 2.2 查询数据库(较慢) 2.3 更新缓存(次快) 2.4 查询缓存&#…...
【DFS】羌笛何须怨杨柳,春风不度玉门关 - 4. 二叉树中的深搜
本篇博客给大家带来的是二叉树深度优先搜索的解法技巧,在后面的文章中题目会涉及到回溯和剪枝,遇到了一并讲清楚. 🐎文章专栏: DFS 🚀若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的…...
【Exception】MybatisPlusException: can not find lambda cache for this entity
文章目录 环境 | Environment复现步骤 | Reproduction steps报错日志 | Error log源码 | Source CodeUserServiceImpl.javaAddressServiceImpl.javaAbstractSubTableBaseServiceImpl.javaUserEntity.javaAddressEntity.javaSubTableBaseEntity.java 原因分析 | Analysis解决方案…...
Spring Security 全面指南:从基础到高级实践
一、Spring Security 概述与核心概念 1.1 Spring Security 简介 Spring Security 是 Spring 生态系统中的安全框架,为基于 Java 的企业应用提供全面的安全服务。它起源于 2003 年的 Acegi Security 项目,2008 年正式成为 Spring 官方子项目,…...
IP组播 C++简单应用
引言 在当今的网络世界中,数据的传输效率和带宽的合理利用是至关重要的。传统的单播和广播通信方式在某些场景下存在着局限性,而IP组播技术的出现为解决这些问题提供了一种有效的方案。本文将详细介绍IP组播的概念、工作原理、应用场景,并通…...
CentOS 7安装 mysql
CentOS 7安装 mysql 1. yum 安装 mysql 配置mysql源 yum -y install mysql57-community-release-el7-10.noarch.rpm安装MySQL服务器 yum -y install mysql-community-server启动MySQL systemctl start mysqld.service查看MySQL运行状态,运行状态如图ÿ…...
“十五五”时期航空弹药发展环境分析
1.“十五五”时期航空弹药发展环境分析 (标题:小二号宋体居中) 一、建言背景介绍 (一级标题:黑体三号,首行空两格) 航空弹药作为现代战争的核心装备,其发展水平直接关乎…...
es6的100个问题
基础概念 解释 let、const 和 var 的区别。什么是块级作用域?ES6 如何实现它?箭头函数和普通函数的主要区别是什么?解释模板字符串(Template Literals)的用途,并举例嵌套变量的写法。解构赋值的语法是什么…...
在直播间如何和观众进行互动
在抖音直播间实现高效互动需要**技术话术工具**的立体化组合,以下是程序员可落地的深度互动方案: --- ### 一、技术驱动型互动策略 #### 1. **实时代码演示(硬核互动)** - **OBS虚拟摄像头屏幕共享** python # 用Flask创建实…...
mysql--用户管理
MySQL 用户管理完整指南 1. 查看用户信息 查看所有用户 SELECT User, Host, authentication_string FROM mysql.user;查看用户详细信息 SELECT * FROM mysql.user \G查看当前登录用户 SELECT CURRENT_USER();查看特定用户的权限 SHOW GRANTS FOR usernamehost;2. 创建用户…...
.NET三层架构详解
.NET三层架构详解 文章目录 .NET三层架构详解引言什么是三层架构表示层(Presentation Layer)业务逻辑层(Business Logic Layer,BLL)数据访问层(Data Access Layer,DAL) .NET三层架构…...