首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏SpringCloud专栏

    解决retrofit OKhttp创建大量对外连接时内存溢出

    然后运行程序后,发现线程数急剧上升,没几秒就跑到了2000多个线程,然后发生内存溢出,程序就挂掉了。 ? 这是刚启动项目时,线程数只有50多个。当开启多线程任务后 ? com.mindata.ecserver.global.http.CallManager.execute(CallManager.java:25) 通过监控界面可以看到,大量的线程OKHttp ConnectionPool,也是导致内存溢出的主要原因

    4K20发布于 2019-01-17
  • 来自专栏张叔叔讲互联网

    人群数据如何对外输出

    综上可知,人群数据对外输出方式主要分为两种:Hive表和服务接口。 对外提供人群数据的服务接口主要有两个:获取人群基本信息接口和获取人群BitMap接口。 上述两个接口可以通过微服务的形式封装到SDK中对外提供数据服务。当业务方需要感知人群状态变化时,可以定期调用人群基本信息接口,对比人群前后状态就可以知道人群状态是否变更。 在这种情况下,当接口并发调用量较大时,画像平台会有较大的资源压力,因为内存和网络中需要存储和传输大量的人群数据。 图5-37展示了通过服务接口对外输出人群数据的流程图,其中包含了人群状态监听和人群数据拉取过程。图片----本文节选自《用户画像:平台构建与业务实践》,转载请注明出处。

    72150编辑于 2023-10-23
  • 来自专栏python3

    3-8 读写内存

    3-5 读写内存流 u本节学习目标: n了解读写内存流MemoryStream的特点 n学习如何建立内存流MemoryStream n了解读写缓存流BufferedStream n学习如何建立缓存流BufferedStream 3-5-1 读写内存流 ——MemoryStream类 类MemoryStream创建这样的流,该流以内存而不是磁盘或网络连接作为支持存储区。 可在内存中直接访问这些封装的数据。内存流可降低应用程序中对临时缓冲区和临时文件的需要。 内存流对象还有一些重要的属性。其中Length属性代表了内存流对象存放的数据的真实长度,而Capacity属性则代表了分配给内存流的内存空间大小。 案例学习:MemoryStream类案例 本案例您将学习到:如何通过使用内存流的属性、方法来获取内存流的占用空间信息及改变内存流空间大小。

    1.2K20发布于 2020-01-06
  • 来自专栏玖叁叁

    使用NodePort对外发布服务

    在Kubernetes中,使用NodePort类型的Service可以将服务公开到节点的公共IP地址和端口上。这种类型的Service非常适合需要在集群外部访问的应用程序。

    93631编辑于 2023-05-02
  • 来自专栏Spark学习技巧

    Java8内存结构的改变~

    一、JVM 内存分布 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 ? 1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。 关于方法区内存溢出的问题会在下文中详细探讨。 我们现在通过动态生成类来模拟 “PermGen space”的内存溢出: ? ? 运行结果如下: ? 本例中使用的 JDK 版本是 1.7,指定的 PermGen 区的大小为 8M。 剩余空间容量的百分比,减少为分配空间所导致的垃圾收集 -XX:MaxMetaspaceFreeRatio,在GC之后,最大的Metaspace剩余空间容量的百分比,减少为释放空间所导致的垃圾收集 现在我们在 JDK 8下重新运行一下代码段 四、总结 通过上面分析,大家应该大致了解了 JVM 的内存划分,也清楚了 JDK 8 中永久代向元空间的转换。不过大家应该都有一个疑问,就是为什么要做这个转换?

    1.4K20发布于 2019-07-15
  • 来自专栏DevOps Boy

    Kubernete折腾记:对外暴露服务

    你可能会说,既然k8s中所有pod网络都在一个大的网段,直接用IP访问不就行了。 [k8s-svc-1.png] 当然该集群IP不仅限于各个节点可以访问,集群中的pod(容器)也可以访问,我们可以使用kubectl run命令运行一个临时pod测试: [k8s-svc-2.png] 0x02 对外暴露服务 如果还想再对外暴露服务,需要将spec.type修改为NodePort,如果你想指定对外暴露端口,可以指定spec.ports.N.nodePort(默认30000-32767之间 NodePort(对集群外暴露服务)这两种类型外,还有一种LoadBalancer类型的服务,但是其工作需要云服务商(如:腾讯云、阿里云等)的负载均衡产品配合使用,但其本质上也是服务通过NodePort对外提供服务 查看KUBE-SERVICES链: [k8s-svc-8.png] 之前为什么说集群IP是虚拟IP呢?

    1.8K20发布于 2021-02-08
  • 【详解】Linux对外开放端口

    Linux对外开放端口在Linux系统中,对外开放端口是一项常见的需求,无论是运行Web服务、数据库服务还是其他网络服务,都需要通过开放特定的端口来实现外部访问。 测试端口是否开放端口开放后,可以通过多种方式测试端口是否成功对外提供服务:本地测试:使用telnet或nc命令进行本地测试。 在Linux系统中,对外开放端口通常涉及到配置防火墙规则、启动服务监听特定端口等操作。下面我将通过几个实际的应用场景来说明如何在Linux上对外开放端口。 场景1:使用​​iptables​​配置防火墙规则假设你有一个Web服务器(如Apache或Nginx),运行在80端口上,需要对外公开访问。 场景4:启动一个自定义服务并开放端口假设你需要启动一个自定义的服务,监听在9000端口,并对外开放。

    2.1K10编辑于 2025-10-08
  • 来自专栏johnhuster

    ubuntu20.04获取对外ip

    在ubuntu20.04上可以通过ifconfig或者ip addr等命令获取内网ip,但是有时有些资源访问设置得白名单是根据对外ip设置得,因此需要获取对外ip地址,如果是在windows或者有界面得 Linux系统,可以在浏览器输入ip获取对外ip,但是在无界面linux上就通过执行命令获取了,下面给出几种可行方案: 1、curl icanhazip.com 2、curl api.ipify.org

    1.2K20编辑于 2022-03-28
  • 来自专栏JAVA

    IOC是如何对外提供Bean的

    想要搞懂具体的流程需要先明白以下几点: **BeanFactory:**Bean–>Factory,以Factory结尾标识是一个生产Bean的工厂类,统领IOC容器中所有Bean的获取入口,用于对外提供实现 有可能是别名,有可能是&开头的FactoryBean,因此需要获取Bean真正的标准名称 2:尝试从单例注册表中获取缓存的实例 在单例Bean的循环依赖解决方案中存在三级缓存,其中一级缓存就是存储可以对开发者对外提供的 单例singleton:整个IOC中独此一份,所有DI提供的Bean都是一个实例,这种Bean在首次创建后会被缓存到一级缓存单例注册表中 多例prototype:IOC对外提供的Bean的实例都不一样, DestructionAwareBeanPostProcessors),后续在销毁的时候 ,就可以运行后置处理相关的业务 以上步骤完成后将获取一个Bean实例对象,这个对象还需要经过getObjectForBeanInstance处理才能对外提供 ,根据Bean是普通Bean还是工厂Bean,然后对外提供 基于实例对象构建Bean protected Object getObjectForBeanInstance(Object beanInstance

    36000编辑于 2024-11-22
  • 来自专栏JAVA 框架/源码学习

    redis内存满了怎么办?让你玩懂8内存淘汰策略

    我们知道redis是一个非常常用的内存型数据库,数据从内存中读取是它非常高效的原因之一,那么但是如果有一天,「redis分配的内存满了怎么办」? 增加redis可用内存 这种方法很暴力,也很好用,我们直接通过增加redis的可用内存就可以了, 有两种方式 「通过配置文件配置」 //设置redis最大占用内存大小为1000M maxmemory > config set maxmemory 1000mb redis支持运行时通过命令动态修改内存大小 这种方法是立竿见影的,reids 内存总归受限于机器的内存,也不能无限制的增长,那么如果没有办法再增加 内存淘汰策略 实际上Redis定义了「8内存淘汰策略」用来处理redis内存满的情况: 1.noeviction:直接返回错误,不淘汰任何已经存在的redis键 2.allkeys-lru:所有的键使用 redis键 5.volatile-random:随机删除有过期时间的redis键 6.volatile-ttl:删除快过期的redis键 7.volatile-lfu:根据lfu算法从有过期时间的键删除 8.

    3K30发布于 2021-04-02
  • 来自专栏数据库相关

    生产K8s Rsyslogd内存优化

    最近发现K8s机器经常有内存告警,上去抽了几台ECS 看了下都发现了rsyslogd占用大量内存的情况出现。 当容器越多是,log也就会也多,内存占用也就越多。同时也可能导致systemd-journald内存占用过高。 因此我们最好优化下journald和rsyslog的参数,将宝贵的内存资源留给业务服务去使用。 效果展示 PS: 对生产全部K8s主机rsyslogd都优化了一遍后,发现腾出了近128GB的内存,相当于又多买了一台128G的ECS。 step2、定时任务平台 从cmdb中将k8s主机列表取出来,每天下发一次 check-deploy.sh 到目标K8s机器上并执行即可(这个变更对时效性要求不高)。

    1.1K20编辑于 2022-01-11
  • 来自专栏HaC的技术专栏

    8张图 带你理解Java内存区域

    很多人会误以为Java内存区域和内存模型是同一个东西,其实并不是。 Java内存区域是指 JVM运行时将数据分区域存储 ,简单的说就是不同的数据放在不同的地方。通常又叫 运行时数据区域。 Java内存模型(JMM)定义了程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。 PermGen space”,而是报 java.lang.OutOfMemoryError: Java heap space 1.7部分内容(比如 常量池、静态变量有方法区转移到了堆) 那么,Java 8 元空间没有使用堆内存,而是与堆不相连的本地内存区域。所以,理论上系统可以使用的内存有多大,元空间就有多大,所以不会出现永久代存在时的内存溢出问题。 8、总结: 参考: https://www.cnblogs.com/czwbig/p/11127124.html https://blog.csdn.net/xyh930929/article/details

    3.7K21发布于 2020-11-16
  • 来自专栏高性能服务器开发

    8张图 带你理解Java内存区域

    很多人会误以为Java内存区域和内存模型是同一个东西,其实并不是。 Java内存区域是指 JVM运行时将数据分区域存储 ,简单的说就是不同的数据放在不同的地方。通常又叫 运行时数据区域。 Java内存模型(JMM)定义了程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。 1、Java内存区域 1.8 之前: ? 演变 那么,Java 8 中 PermGen 为什么被移出 HotSpot JVM 了? 元空间没有使用堆内存,而是与堆不相连的本地内存区域。所以,理论上系统可以使用的内存有多大,元空间就有多大,所以不会出现永久代存在时的内存溢出问题。 8、总结: ?

    54030发布于 2020-12-15
  • 来自专栏AustinDatabases

    MYSQL 8 内存使用分析到底我的内存都跑哪了

    今天公司的一个DBA 小盆友问我,测试机的MYSQL的内存满了,但是看上去MYSQL 也没有用多少内存,到底这些内存用到哪里了. 所以总结了 18 式 对MYSQL 的内存消耗,上上下下,左左右右的来一个 POP. 下面的是这台要被POP的MYSQL 8.011 内存很少,my,cnf 处于"原始部落",没有配置的状态. ? 这里PR是这个应用程序的优先级, VIRT 是虚拟内存的大小, RES 是常驻内存也是当前进程使用的内存,(不包含swap), SHR 是共享内存的大小. 通过上面的方法可以看一分钟有没有数据的获取不是从innodb_buffer_pool中获得的,如果太高则需要综合上面的信息添加INNODB_BUFFER_POOL_SIZE的内存了. 8 重复索引对于 最后曾经有人问了一个问题,我的机器的物理内存只有8G ,但我innodb buffer pool size 设置成10G 也能启动,为什么???? ?

    5.3K30发布于 2021-03-16
  • 来自专栏coding

    2018年swoole实战8-内存table

    继上篇 2018年swoole实战7-进程详解 本篇演示 swoole内存操作模块 swoole_table一个基于共享内存和锁实现的超高性能,并发数据结构。 既然称之为table, 就像表格一个由行与列组成,这点与mysql的数据表类似 以下演示内存table的基础操作 新建 table.php <? php // 创建内存表 $table = new swoole_table(1024); // 在内存表中增加列 $table->column('id', $table::TYPE_INT, 4);

    71610发布于 2018-08-02
  • 来自专栏Java编程大本营

    终于搞明白Java8内存结构

    Java8内存结构图 [75591d90-8204-4ac0-928c-7976bc19ee00.jpg] 虚拟机内存与本地内存的区别 Java虚拟机在执行时会把内存分成不同的区域,这些区域被称为虚拟机内存 ,是一张string table 静态变量 static修饰的静态变量,jdk8时从方法区迁移至堆中 线程分配缓冲区(Thread Local Allocation Buffer) 线程私有,但是不影响 方法区,Java8废弃,引入元空间! 方法区是所有线程共享内存,在java8以前是放在JVM内存中的,由永久代实现,受JVM内存大小参数限制,Java8移除了永久代和方法区,引入元空间,直接用物理内存实现。 类变量 类变量是用static修饰符修饰,定义在方法外的变量,随着java进程产生和销毁 在java8之前存放在方法区,在java8时存放在堆中 成员变量 成员变量是定义在类中,但是没有static修饰符修饰的变量

    1.3K00发布于 2021-08-28
  • 来自专栏人人都是极客

    ARMv8 内存系统学习笔记

    Shareability 设置为 non-shareable 则该段内存只给一个特定的核使用,设置为 inner shareable 或 outer shareable 则可以被其它观测者访问(其它核、 (CPU 核、DSP、DMA 设备)能看到一个内存地址的同一份拷贝的“点”,一般是主存。 Memory consistency ARMv8-A 采用弱内存模型,对 normal memory 的读写可能乱序执行,页表里 可以配置为 non-reordering(可用于 device memory Normal memory:RAM、Flash、ROM in physical memory,这些内存允许以弱内存序的方式访问,以提高性能。 典型的 rel-acq ordering 的使用场景是 mutex 或 spinlock,当释放锁的时候,释放之前的临界区的内存访问必须都保证对同时获取锁的观测者可见。

    91220编辑于 2023-09-11
  • 来自专栏技术让梦想更伟大

    FreeRTOS系列第8篇---FreeRTOS内存管理

    ,需要的内存是从一个静态数组中分配的,意味着这种内存分配通常只是适用于那些不进行动态内存分配的应用。 HeapRegion_t在portable.h中定义,如下所示: typedef struct HeapRegion { /* 用于内存堆的内存块起始地址*/ uint8_t /* 在内存中为内存堆分配两个内存块.第一个内存块0x10000字节,起始地址为0x80000000, 第二个内存块0xa0000字节,起始地址为0x90000000.起始地址为0x80000000的内存块的 起始地址更低,因此放到了数组的第一个位置.*/ const HeapRegion_t xHeapRegions[] = { { ( uint8_t * ) 0x80000000UL, 0x10000 }, { ( uint8_t * ) 0x90000000UL, 0xa0000 }, { NULL, 0 } /* 数组结尾. */ }; /* 向函数

    1.5K20发布于 2020-07-16
  • 来自专栏XINDOO的专栏

    Agent设计模式——第 8 章:内存管理

    有效的内存管理对于智能 Agent 保留信息至关重要。与人类类似,Agent 需要不同类型的内存才能高效运行。本章深入探讨内存管理,特别关注 Agent 的即时(短期)和持久(长期)内存需求。 Agent 内存通常分为两大主要类型: 短期内存(上下文内存): 类似于工作记忆,保存当前处理或最近访问的信息。对于使用大语言模型(LLM)的 Agent,短期内存主要存在于上下文窗口中。 因此,Agent 需要独立的内存类型来实现真正持久性、从过往交互中调用信息并建立持久知识库。 长期内存(持久内存): 作为 Agent 跨各种交互、任务或延长期间所需信息的存储库,类似于长期知识库。 每当 Agent 预期基于过去成功、失败或新获得信息进行学习或适应时,实现内存管理 视觉摘要 ** ** 图 1:内存管理设计模式 关键要点 快速回顾内存管理的核心要点: 内存对于 Agent 跟踪事物 、学习和个性化交互至关重要 对话式 AI 依赖单个聊天中即时上下文的短期内存和跨多个会话持久知识的长期内存 短期内存(即时信息)是临时的,通常受 LLM 上下文窗口或框架传递上下文方式的限制 长期内存

    83110编辑于 2025-10-27
  • 来自专栏DotNet 致知

    03_API的对外合约

    dis_k=8e20c6ed65f2f288cf4c79229ab3c841&dis_t=1648521517&vid=wxv_1635335586116861953&format_id=10002&support_redirect

    24020编辑于 2022-03-29
领券