OpenShift Container Platform 4.9 节点了解如何使用容限秒数来延迟 pod 驱除 3.7.1.2. 了解如何使用多个污点 3.7.1.3. 了解 pod 调度和节点状况(根据状况保留节点) 3.7.1.4. 了解根据状况驱除 pod(基于垃圾的驱除) 3.7.1.5. 容限所有污点 3.7.2. 添加污点和容限 3.7.2.1. 使用机器集添加污点和容限 3.7.2.2. 使用污点和容限将用户绑定到节点 3.7.2.3. 使用节点选择器和容限创建项目 pod 反关联性重新引导节点 5.8.3. 了解如何重新引导运行路由器的节点 5.8.4. 正常重新引导节点 5.9. 使用垃圾回收释放节点资源 5.9.1. 了解如何通过垃圾回收移除已终止的容器 5.9.2. 了解如何通过垃圾回收移除镜像 5.9.3. 为容器和镜像配置垃圾回收 5.10. 为 OPENSHIFT CONTAINER PLATFORM 集群中的节点分配资源 5.10.1. 了解如何为节点分配资源 Kubernetes API 服务器之间的通信。 使用守护进程集在节点上自动运行后台任务。您可以创建并使用守护进程集来创建共享存储,在 每个节点上运行日志记录 pod,或者在所有节点上部署监控代理。 使用垃圾回收释放节点资源。您可以通过删除终止的容器以及任何正在运行的 pod 不引用的镜像 来确保节点高效运行。 在一组节点中添加内核参数。 将 OpenShift Container Platform 集群配置为在网络边缘(远程0 码力 | 374 页 | 3.80 MB | 1 年前3
OpenShift Container Platform 4.6 节点了解如何使用容限秒数来延迟 pod 驱除 3.6.1.2. 了解如何使用多个污点 3.6.1.3. 了解 pod 调度和节点状况(根据状况保留节点) 3.6.1.4. 了解根据状况驱除 pod(基于垃圾的驱除) 3.6.1.5. 容限所有污点 3.6.2. 添加污点和容限 3.6.2.1. 使用机器集添加污点和容限 3.6.2.2. 使用污点和容限将用户绑定到节点 3.6.2.3. 使用污点和容限控制具有特殊硬件的节点 . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7. 使用垃圾回收释放节点资源 5.7.1. 了解如何通过垃圾回收移除已终止的容器 5.7.2. 了解如何通过垃圾回收移除镜像 5.7.3. 为容器和镜像配置垃圾回收 5.8. 为 OPENSHIFT CONTAINER PLATFORM 集群中的节点分配资源 5.8.1. 了解如何为节点分配资源 管理需要一定级别的内核调整的高性能应用程序的节点级性能优化。 使用守护进程集在节点上自动运行后台任务。您可以创建并使用守护进程集来创建共享存储,在 每个节点上运行日志 pod,或者在所有节点上部署监控代理。 使用垃圾回收释放节点资源。您可以通过删除被终止的容器和任何正在运行的 pod 引用的镜像来 确保节点高效运行。 向一组节点添加内核参数。 配置 OpenShift Container Platform 集群,使其有位于网络边缘(远程0 码力 | 404 页 | 3.60 MB | 1 年前3
2.Go语言实现中的几个研究课题_毛康力最早接触是在2012年 • 喜欢研究底层实现 • http://www.zenlife.tk/ 有同事称我⼤大神或⼤大师(湿?) 其实,我只是⼀一个研究僧 ⼤大纲 • 并发 • 接⼝口 • 垃圾回收 • 调度 • 死锁检测 并发 • goroutine提供轻量的并发机制 • channel⽤用于goroutine之间通信 并发 goroutine • 协程!!! • 研究课题:能否实现lock-free channels? • 使⽤用前获取select中的所有channel的锁 • 按channel结构体的地址顺序加锁 ⼤大纲 • 并发 • 接⼝口 • 垃圾回收 • 调度 • 死锁检测 接⼝口 • 接⼝口定义了⼀一系列⽅方法 • 如果类型实现了这些⽅方法,它就实现了这个接⼝口 • 接⼝口不依赖实现 • 避免了过度设计,⽐比如OO⾥里⾯面基于继承的⽅方式 接⼝口 • 垃圾回收 • 调度 • 死锁检测 垃圾回收 • ⺩王尼玛:内存管理太重要!交给机器我不放⼼心 • 曹尼玛:内存管理太重要!给⺩王尼玛管我不放⼼心 Go还是很体贴⼤大伙的~ Go vs Java 跟Java相⽐比,Go内存⽅方⾯面有⼀一些不同: • 指针更少 • ⼤大量的栈上分配 • ⼤大量的goroutine • 没有对象头 垃圾回收 • 并发->精确0 码力 | 37 页 | 566.26 KB | 1 年前3
2.4 Go 1.4 runtimeGoroutine Scheduler 1. Memory Allocator 内存分配器 base on tcmalloc. 基于成熟方案,性能优秀。随着版本升级, 针对性改进,以期与垃圾回收器更好协作。 核心:自主管理,缓存复用,无锁分配。 page, span. 内存管理以页为基本单位,多个地址连续 页构成内存块。 VA 8K 8K 8K 8K 8K span1 span2 获取 span,切分。 管理未全部回收的 span。 从 central 获取 span。 与线程绑定,⽆无锁分配。 ... ... central[n] lock lock lock free init. 算法依赖连续地址,预留较大地址空间。 VA 128GB arena ⽤用户内存分配区域 8GB bitmap 垃圾回收标记区域 128MB spans malloc 64K, 1MB span span (objects) grow small object large object span OS cache sweep. 垃圾回收器引发回收操作。 GC heap large central small cache span/objects span ref != 0 ref = 0 相邻合并 OS X0 码力 | 29 页 | 608.57 KB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a深入地理解 这些类型的值。 我认为知道一些可能的底层实现对于清除某些Go编程中 的困惑非常有帮助。 3. 详细地解释了内存块(memory block)。 了解Go值和内存块之间的关系 对于理解垃圾收集器是如何工作的以及如何避免内存泄漏非常有帮助。 4. 将接口值视为用于包裹非接口值的盒子。 我发现将接口值视为用于包裹 非接口值的盒子对于清除很多和接口相关的困惑非常有帮助。 5. 澄清了 支持方法。 支持延迟函数调用(defer)。 支持类型内嵌(type embedding)。 支持类型推断(type deduction or type inference)。 内存安全。 自动垃圾回收。 良好的代码跨平台性。 自定义泛型(从Go 1.18开始)。 除了以上特性,Go还有如下亮点: Go的语法很简洁并且和其它流行语言相似。 这使得具有一定编程经验的 程序员很容易上手Go编程。 它语言编程经验的程序员来说,读懂一份Go源码也不是一件难事。 目前,使用最广泛的Go编译器由Go官方设计和开发团队维护。 以后我们将称 此编译器为标准编译器。标准编译器也常常称为gc(是Go compiler的缩写, 不是垃圾回收garbage collection的缩写)。 Go官方设计和开发团队也维护着另 外一个编译器,gccgo。 gccgo是gcc编译器项目的一个子项目。 gccgo的使用 广泛度大不如gc, 它0 码力 | 821 页 | 956.82 KB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a深入地理解这些 类型的值。 我认为知道一些可能的底层实现对于清除某些Go编程中的困惑 非常有帮助。 3. 详细地解释了内存块(memory block)。 了解Go值和内存块之间的关系对 于理解垃圾收集器是如何工作的以及如何避免内存泄漏非常有帮助。 4. 将接口值视为用于包裹非接口值的盒子。 我发现将接口值视为用于包裹非 接口值的盒子对于清除很多和接口相关的困惑非常有帮助。 5. 澄清了 支持函数闭包(closure)。 支持方法。 支持延迟函数调用(defer)。 支持类型内嵌(type embedding)。 支持类型推断(type deduction or type inference)。 内存安全。 自动垃圾回收。 良好的代码跨平台性。 自定义泛型(从Go 1.18开始)。 除了以上特性,Go还有如下亮点: Go的语法很简洁并且和其它流行语言相似。 这使得具有一定编程经验的程 序员很容易上手Go编程。 它语言编程经验的程序员来说,读懂一份Go源码也不是一件难事。 目前,使用最广泛的Go编译器由Go官方设计和开发团队维护。 以后我们将称 此编译器为标准编译器。标准编译器也常常称为gc(是Go compiler的缩写,不 是垃圾回收garbage collection的缩写)。 Go官方设计和开发团队也维护着另外 一个编译器,gccgo。 gccgo是gcc编译器项目的一个子项目。 gccgo的使用广泛 度大不如gc, 它的0 码力 | 608 页 | 1.08 MB | 1 年前3
Java 应用与开发 - Java 内存模型与分配机制Java 内存管理建议 学习目标 1. 理解 JVM 内存模型,掌握 JVM 内存构成 2. 理解 Java 程序的运行过程,学会通过调试模式观察内存的 变化 3. 了解 Java 内存管理,认识垃圾回收 4. 建立编程时高效利用内存、避免内存溢出的理念 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 大纲 Java 内存模型 Java 程序内存运行分析 Java 栈中的数据和堆中的数据销毁并不是同步的。方法一旦执行 结束,栈中的局部变量立即销毁,但是堆中对象不一定销 毁。因为可能有其他变量也指向了这个对象,直到栈中没有 变量指向堆中的对象时,它才销毁;而且还不是马上销毁, 要等垃圾回收扫描时才可以被销毁。 ▶ 栈、堆、代码段、数据段等都是相对于应用程序而言的。 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 程序运行内存分析小结 ▶ 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 垃圾回收机制 JVM 的垃圾回收机制(GC)决定对象是否是垃圾对象,并进行 回收。 O 垃圾回收机制的特点 ▶ 垃圾内存并不是用完了马上就被释放,所以会产生内存释放 不及时的现象,从而降低内存的使用效率。而当程序庞大的 时候,这种现象更为明显。 ▶ 垃圾回收工作本身需要消耗资源,同样会产生内存浪费。 大纲 Java 内存模型0 码力 | 44 页 | 818.30 KB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a入地理解这些类型 的值。 我认为知道一些可能的底层实现对于清除某些Go编程中的困惑非常有 帮助。 3. 详细地解释了内存块(memory block)。 了解Go值和内存块之间的关系对于 理解垃圾收集器是如何工作的以及如何避免内存泄漏非常有帮助。 4. 将接口值视为用于包裹非接口值的盒子。 我发现将接口值视为用于包裹非接 口值的盒子对于清除很多和接口相关的困惑非常有帮助。 5. 澄清了 支持函数闭包(closure)。 支持方法。 支持延迟函数调用(defer)。 支持类型内嵌(type embedding)。 支持类型推断(type deduction or type inference)。 内存安全。 自动垃圾回收。 良好的代码跨平台性。 自定义泛型(从Go 1.18开始)。 除了以上特性,Go还有如下亮点: Go的语法很简洁并且和其它流行语言相似。 这使得具有一定编程经验的程序 员很容易上手Go编程。 验的程序员来说,读懂一份Go源码也不是一件难事。 目前,使用最广泛的Go编译器由Go官方设计和开发团队维护。 以后我们将称此编译 器为标准编译器。标准编译器也常常称为gc(是Go compiler的缩写,不是垃圾回 收garbage collection的缩写)。 Go官方设计和开发团队也维护着另外一个编译 器,gccgo。 gccgo是gcc编译器项目的一个子项目。 gccgo的使用广泛度大不 如gc,0 码力 | 591 页 | 21.40 MB | 1 年前3
Pivotal Greenplum 最佳实践分享垃圾空间回收 • GPDB采用MVCC机制,UPDATE 或 DELETE并非物理删除,而只是对无效记 录做标记; • Update/delete操作后,数据库不会自动释放这些空间,这些垃圾空间的回收方 式: 1)Vacuum 2)Vacuum full 3)REORGANIZE • 不进行垃圾空间回收的影响 o 垃圾空间浪费存储空间 o 垃圾空间影响查询性能 垃圾空间影响查询性能 注:delete all用truncate代替,truncate无需回收垃圾空间 垃圾空间回收 Vacuum:标记垃圾空间为可再利用 Vacuum用于将数据表垃圾空间标记到FSM(自由空间映射),一般也不回收空间,当往该表插入新数据时,数据库会重 新这些空间。 FSM驻留在内存中,FSM的大小必须足够标记数据库中的所有过期记录。如果尺寸不够大 超出自由映像空间的过期记录 占用的空间将无法被VACUUM命令标记。可通过修改max_fsm_pages、max_fsm_relations放大这些参数 Vacuum Full/REORGANIZE:立即释放垃圾空间还给操作系统 Vacuum Full相当于碎片整理; Reorganize相当于重建表,数据表对应的文件名(pg_class -> relfilenode)将会发生改变。0 码力 | 41 页 | 1.42 MB | 1 年前3
一次线上java 应用响应时间过长问题的排查nterlace/1/q/100">最近接手一个老 java 应用,没多久接到响应时间太长的报警,整个排查过程还是挺有意思的, 录一下。
整个过程中,设计到 cpu,内存,垃圾回收,引用,spring, 单例 等等知识,整个下来,心情愉悦。< p>接到报警
吃完晚饭回来,接到报警短信,服务响应时间太长,达到 2s 以上。
看到的结果居然是,CMS 垃圾收集器的线程。。。
这,这,这不科学。垃圾回收
看垃圾回收日志,发现一直在进行 Full GC,但是几乎没啥效果,GC 完了,老年代依然是几乎 满的状态。
即使是 CMS,也不能避免传说中的 stop the world,所以响应时间变长了。
但是,现在问题来了,Full GC 回收不掉的对象都是啥啥啥?看了一下应用中的代码,发现每次使用 oss 时都会 new OssClient,用完之后没有 shutdown。 br> 但是,new 是在方法内部的,方法内的局部变量按道理说,方法结束后直接就可以回收的啊,这不科 ,肯定是 ossClient 的源码中搞了鬼。于是直接去源码中看了一下。
发现在 new OssClient 时,源码中会新建上面提到的 PoolHttpConnectionManager,然后调用0 码力 | 3 页 | 247.74 KB | 1 年前3
共 421 条
- 1
- 2
- 3
- 4
- 5
- 6
- 43













