赞过的人: 技术头条 Yonah潇
要不要再学学下面的文章?
Knative Serving 健康检查机制分析 (yq.aliyun.com)
从头开发一个Serverless引擎并不是一件容易的事情,今天咱们就从Knative的健康检查说起。通过健康检查这一个点来看看Serverless模式和传统的模式都有哪些不同,以及Knative针对Serverless场景都做了什么思考。
by @可耐芊小仙女 2019-11-14 17:18 分享 查看详情
Flink中资源管理机制解读与展望 (mp.weixin.qq.com)
本文来自2019年9月21日Flink Meetup北京站阿里巴巴的宋辛童的分享,关于Flink的资源管理机制的解读和展望。
by @zhisheng_blog 2019-11-05 21:17 分享 查看详情
Linux 终端最全推荐(建议收藏) (mp.weixin.qq.com)
如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章。我这里搜集了一些非常有趣的终端软件,可以用来替代debian系的Linux原生终端。
by @code小生 2019-11-03 18:31 分享 查看详情
Apache Flink 进阶(一):Runtime 核心机制剖析 (yq.aliyun.com)
本文主要介绍 Flink Runtime 的作业执行的核心机制。首先介绍 Flink Runtime 的整体架构以及 Job 的基本执行流程,然后介绍在这个过程,Flink 是怎么进行资源管理、作业调度以及错误恢复的。最后,本文还将简要介绍 Flink Runtime 层当前正在进行的一些工作。
by @可耐芊小仙女 2019-09-16 16:25 分享 查看详情
实战课堂 | MongoDB如何使用内存?内存满了怎么破? (yq.aliyun.com)
Mongod 进程启动后,除了跟普通进程一样,加载 binary、依赖的各种library 到内存,其作为一个DBMS,还需要负责客户端连接管理,请求处理,数据库元数据、存储引擎等很多工作,这些工作都涉及内存的分配与释放,默认情况下,MongoDB 使用 Google tcmalloc 作为内存分配器,内存占用的大头主要是「存储引擎」与 「客户端连接及请求的处理」。
by @可耐芊小仙女 2019-09-02 16:45 分享 查看详情
基于 LifeOwner 的 RxJava 内存泄漏解决方案 (mp.weixin.qq.com)
组件设计思路:
通过观察LifeOwner(Activity)的LifeCycle Event,在ActivityonDestroy时释放掉其所有的Disposable
by @code小生 2019-08-27 13:54 分享 查看详情
实战经验 | Cassandra Java堆外内存排查经历全记录 (yq.aliyun.com)
最近准备上线cassandra这个产品,同事在做一些小规格ECS(8G)的压测。压测时候比较容易触发OOM Killer,把cassandra进程干掉。问题是8G这个规格我配置的heap(Xmx)并不高(约6.5g)已经留出了足够的空间给系统。只有可能是Java堆外内存使用超出预期,导致RES增加,才可能触发OOM。
by @可耐芊小仙女 2019-08-26 15:50 分享 查看详情
超干货!Cassandra Java堆外内存排查经历全记录 (yq.aliyun.com)
最近准备上线cassandra这个产品,同事在做一些小规格ECS(8G)的压测。压测时候比较容易触发OOM Killer,把cassandra进程干掉。问题是8G这个规格我配置的heap(Xmx)并不高(约6.5g)已经留出了足够的空间给系统。只有可能是Java堆外内存使用超出预期,导致RES增加,才可能触发OOM。
by @可耐芊小仙女 2019-08-19 15:50 分享 查看详情
深入理解 Java 内存模型 (mp.weixin.qq.com)
《深入理解 Java 内存模型》程晓明著,该书在以前看过一遍,现在学的东西越多,感觉那块越重要,于是又再细看一遍,于是便有了下面的读书笔记总结。全书页数虽不多,内容讲得挺深的。细看的话,也是挺花时间的,看完收获绝对挺大的。也建议 Java 开发者都去看看。里面主要有 Java 内存模型的基础、重排序、顺序一致性、Volatile 关键字、锁、final。本文参考书中内容。
by @zhisheng_blog 2019-07-25 09:52 分享 查看详情
不好意思,我和 Java 内存模型杠上了! (mp.weixin.qq.com)
Java内存模型是在硬件内存模型上的更高层的抽象,它屏蔽了各种硬件和操作系统访问的差异性,保证了Java程序在各种平台下对内存的访问都能达到一致的效果。
by @zhisheng_blog 2019-07-25 09:51 分享 查看详情
技术头条

总结
这里我们不讨论代码实现,只关注原理。从上面的讨论可以看到分页机制主要依赖硬件的实现。Linux采用的四级页表只是为了最大化兼容不同的硬件实现,单就IA32架构的CPU来说,就有多种分页实现,常规分页机制,PAE机制等。
我们虽然讨论的是Linux的分页机制,实际上我们用了大部分篇幅来讨论Intel CPU的分页机制实现。因为Linux的分页机制是建立在硬件基础之上的,不同的平台需要有不同的实现。Linux在软件层面构造的虚拟地址,最终还是要通过MMU转换为物理地址,也就是说,不管Linux的分页机制是怎样实现的,CPU只按照它的分页实现来解读线性地址,所以Linux传给CPU的线性地址必然是满足硬件实现的。例如说:Linux在32位CPU上,它的四级页表结构就会兼容到硬件的两级页表结构。可见,Linux在软件层面上做了一层抽象,用四级页表的方式兼容32位和64位CPU内存寻址的不同硬件实现。

by @技术头条 2015-11-08 12:32