版权声明:本文为博主原创文章,未经博主允许不得转载。    https://blog.csdn.net/wl6965307/article/details/51392905
Kafka最核心的思想是使用磁盘,而不是使用内存,可能所有人都会认为,内存的速度一定比磁盘快,我也不例外。在看了Kafka的设计思想,查阅了相应资料再加上自己的测试后,发现磁盘的顺序读写速度和内存持平。

而且Linux对于磁盘的读写优化也比较多,包括read-ahead和write-behind,磁盘缓存等。如果在内存做这些操作的时候,一个是JAVA对象的内存开销很大,另一个是随着堆内存数据的增多,JAVA的GC时间会变得很长,使用磁盘操作有以下几个好处:

磁盘缓存由Linux系统维护,减少了程序员的不少工作。
磁盘顺序读写速度超过内存随机读写。
JVM的GC效率低,内存占用大。使用磁盘可以避免这一问题。
系统冷启动后,磁盘缓存依然可用。
--------------------- 
作者:end 
来源:CSDN 
原文:https://blog.csdn.net/endlu/article/details/51392905 
版权声明:本文为博主原创文章,转载请附上博文链接!

为什么kafka使用磁盘而不是内存相关推荐

  1. 磁盘不足导致内存溢出问题

    工作时候测试环境出现大面积服务挂掉,当重启服务后(脚本判断服务挂了之后会定时重启),一段时间后服务又挂掉了,这时候查看测试环境内存使用情况, 从图片可以看到内存只剩下200多M,buff缓存中的数据居 ...

  2. C#-获取磁盘,cpu,内存信息

    获取磁盘信息zongdaxiao = GetHardDiskSpace("C") * 1.0 / 1024; user = GetHardDiskFreeSpace("C ...

  3. linux系统状态(磁盘大小、内存、进程、cpu使用率、网络连接)

    分享一下自己做的一个获取Linux系统状态的类(c++)(代码整理后的,在物理机上测试可以,在vm虚拟机上测试,磁盘计算有问题) 头文件 #ifndef LINUXSERVERSTATE_H #def ...

  4. Linux统计进程网络,查看磁盘io、内存free、系统进程ps、网络状态netstat、Linux抓包tcpdump...

    查看磁盘io性能状态 iostat -x 查看磁盘使用(安装包与sar的安装包一起) 主要查看%util [root@shu-test ~]# iostat -x Linux 3.10.0-693.e ...

  5. 磁盘不足 导致内存 linux,为什么 Linux 需要 Swapping,仅仅是内存不够用?

    对 Linux 稍有了解的人都知道,Linux 会将物理的随机读取内存(Random Access Memory.RAM)按页分割成 4KB 大小的内存块,而今天要介绍的 Swapping 机制就与内 ...

  6. Ubuntu磁盘分区和内存查看

    适用问题: 一.对于磁盘分区,首先可以查看磁盘的现有容量: 1. sudo fdisk -l :查看原始磁盘分区 上图loop表示:我们可以将镜像文件通过mount挂载在我们的系统上,使得我们可以像访 ...

  7. 内存缓存、磁盘缓存、内存傻傻分不清

    内存缓存 高速缓存(英语:cache,英语发音:/kæʃ/ kash [1][2][3],简称缓存),其原始意义是指访问速度比一般随机存取存储器(RAM)快的一种RAM,通常它不像系统主存那样使用DR ...

  8. 磁盘缓冲区和内存缓冲区

    一般编程所说的缓冲区指的是内存缓冲区,这是程序所设置的一块内存空间,用来暂存从其他设备读入的数据或者是即将写入其他设备的数据:     而磁盘缓冲区有两种:     意是上面说的内存缓冲区,只是它是专 ...

  9. centos 清理磁盘空间 及 内存占用,docker容器优化清理

    一.磁盘空间 1.使用df -l 命令查看本地文件系统 可以看到大量磁盘空间被docker容器的日志占用 使用docker system df命令,类似于Linux上的df命令,用于查看Docker的 ...

最新文章

  1. 访问支付宝(淘宝)首页IE自动关闭解决方案
  2. html css 磁贴,使用JS配合CSS实现Windows Phone中的磁贴效果
  3. 将文件从HDFS复制到本地
  4. java + testng wsdl 测试_在测试中使用XPATH断言的策略
  5. 输入学号查询课程c语言,广工c语言课程设计
  6. 【前端 · 面试 】HTTP 总结(四)—— HTTP 状态码
  7. Atitit 文档资料处理重要类库与工具 跨语言api和第三方api跨语言 类库工具 大概功能 功能 Curl httpclient 文件上传下载 数据传输rest doctotext.exe
  8. 《天下强汉》3、强汉骄子,双星闪耀——卫青霍去病的华美人生
  9. Ubuntu下挂载Windows分区
  10. 珠心算 详解(C++)
  11. pytorch之数据:pack_padded_sequence()与pad_packed_sequence()
  12. 悉尼大学USYD2022S2// INFO1110// Week2 lecture2a: Variables and Data types
  13. 公开我的 星际帝国 辅助程序源代码
  14. 微信小程序利用腾讯云IM发送语音 + 图片
  15. 如何选择美颜SDK接口?
  16. 2019计算机三级网络技术答案,2019年计算机三级网络技术精选练习题
  17. ubuntu qt使用搜狗输入法
  18. Java云电子病历系统源码,提供电子病历在线制作、管理和使用的一体化电子病历
  19. android原生和H5交互(转)
  20. 使用JSONArray遇到的字符串转义问题

热门文章

  1. 迪杰斯特拉算法 php,Dijkstra算法的复杂度
  2. 03_设置轴标签和范围、轴的标签(Labels on Axes)、定义轴的范围、使用linspace定义X值 (“linspace“ to Define X Values)
  3. kerberos安装配置、配置kerberos server、client、日常操作与常见问题、卸载kerberos、hive整合kerberos
  4. nginx 静态文件缓存
  5. Mysql 死锁过程及案例详解之记录锁与间隔锁Record Lock Gap Lock
  6. python列表字典如何提取_怎么提取字典里面的列表里面的字典的value
  7. 表达式求值问题 数据结构_【每日一题51】实际问题与一次函数 看图象求表达式 由表达式求值...
  8. Qt学习笔记之数据库
  9. 让NVIDIA Jetson AGX Xavier火力全开的秘密
  10. 二值图像的距离变换研究