你麻痹 既然讨论到了Mmap 你来说说 你在实际工作中用到的哪个情形?
版主: Softfist
-
- 论坛精英
- 帖子: 6550
- 注册时间: 7月 22, 2022, 3:29 pm
- 昵称(选填): 海螺子
-
- 职业作家
- 帖子: 787
- 注册时间: 7月 22, 2022, 11:46 am
-
- 论坛点评
- 帖子: 2096
- 注册时间: 11月 14, 2022, 2:45 pm
- 昵称(选填): hulooo
-
- 职业作家
- 帖子: 787
- 注册时间: 7月 22, 2022, 11:46 am
-
- 论坛点评
- 帖子: 2096
- 注册时间: 11月 14, 2022, 2:45 pm
- 昵称(选填): hulooo
-
- 论坛精英
- 帖子: 6550
- 注册时间: 7月 22, 2022, 3:29 pm
- 昵称(选填): 海螺子
#26 Re: 你麻痹 既然讨论到了Mmap 你来说说 你在实际工作中用到的哪个情形?
是的,用file system来写。read only的mmap是LMDB的缺省设定,是最安全的设定。
https://stackoverflow.com/questions/630 ... -only-mmap
很多用户用writable mmap的设定,速度要快一些,但更危险。我的数据库就是缺省这样,因为我是从JVM来访问,不太可能乱写到LMDB的mmap里面去了。
https://stackoverflow.com/questions/630 ... -only-mmap
很多用户用writable mmap的设定,速度要快一些,但更危险。我的数据库就是缺省这样,因为我是从JVM来访问,不太可能乱写到LMDB的mmap里面去了。
上次由 hci 在 3月 28, 2024, 7:02 pm,总共编辑 1 次。
-
- 论坛精英
- 帖子: 6550
- 注册时间: 7月 22, 2022, 3:29 pm
- 昵称(选填): 海螺子
-
- 职业作家
- 帖子: 787
- 注册时间: 7月 22, 2022, 11:46 am
-
- 论坛精英
- 帖子: 6550
- 注册时间: 7月 22, 2022, 3:29 pm
- 昵称(选填): 海螺子
-
- 论坛精英
- 帖子: 6550
- 注册时间: 7月 22, 2022, 3:29 pm
- 昵称(选填): 海螺子
-
- 职业作家
- 帖子: 787
- 注册时间: 7月 22, 2022, 11:46 am
-
- 论坛精英
- 帖子: 6550
- 注册时间: 7月 22, 2022, 3:29 pm
- 昵称(选填): 海螺子
-
- 论坛精英
- 帖子: 8352
- 注册时间: 9月 5, 2023, 8:18 pm
- 昵称(选填): 可爱的龙猫
#33 Re: 你麻痹 既然讨论到了Mmap 你来说说 你在实际工作中用到的哪个情形?
OS的cache有个问题是不知道什么东西不用cache,而现实中的某些数据不需要cache。掌握的先验知识越多,cache命中率越高。
DB比OS算法复杂的多,甚至可以在DB文件上禁掉OS cache节省内存。
不过很多的DB实际上是被当key/value表用,这是另一回事。
DB比OS算法复杂的多,甚至可以在DB文件上禁掉OS cache节省内存。
不过很多的DB实际上是被当key/value表用,这是另一回事。
-
- 论坛支柱
- 帖子: 13372
- 注册时间: 7月 22, 2022, 9:19 am
-
- 论坛精英
- 帖子: 8352
- 注册时间: 9月 5, 2023, 8:18 pm
- 昵称(选填): 可爱的龙猫
#35 Re: 你麻痹 既然讨论到了Mmap 你来说说 你在实际工作中用到的哪个情形?
OS访问磁盘高度依赖内存cache,否则速度慢死,硬盘没几天就挂了。
-
- 论坛精英
- 帖子: 6550
- 注册时间: 7月 22, 2022, 3:29 pm
- 昵称(选填): 海螺子
#36 Re: 你麻痹 既然讨论到了Mmap 你来说说 你在实际工作中用到的哪个情形?
这个论点没有什么意义,只是个空洞的说法。
上层应用当然知道自己的逻辑更多,当问题是,上层应用并没有整个机器的运行状况的全局图景,你知道自己的多也没有屁用。kernel不知道你上面在搞什么,但它对整个机器运行状况是清楚的,可以统筹调度。
所以上层应用需要做的,是把自己的需求告诉kernel,而不是去自己搞一套。搞也没有用,kernel还是自己想干啥就干啥,你一个应用层的进程,又干不过,何必费劲呢。用MMap的数据库系统,就是这样的,与OS配合,用OS给你的工具,而不是自己搞一套。
上层应用当然知道自己的逻辑更多,当问题是,上层应用并没有整个机器的运行状况的全局图景,你知道自己的多也没有屁用。kernel不知道你上面在搞什么,但它对整个机器运行状况是清楚的,可以统筹调度。
所以上层应用需要做的,是把自己的需求告诉kernel,而不是去自己搞一套。搞也没有用,kernel还是自己想干啥就干啥,你一个应用层的进程,又干不过,何必费劲呢。用MMap的数据库系统,就是这样的,与OS配合,用OS给你的工具,而不是自己搞一套。
-
- 论坛精英
- 帖子: 8352
- 注册时间: 9月 5, 2023, 8:18 pm
- 昵称(选填): 可爱的龙猫
#37 Re: 你麻痹 既然讨论到了Mmap 你来说说 你在实际工作中用到的哪个情形?
过去很多DB是独占整个机器或者集群资源的,这种情况下当然不希望OS添乱,和docker跑个nosql大不一样。
现在那些深度学习的集群,OS也只是旁观者。
现在那些深度学习的集群,OS也只是旁观者。
-
- 论坛精英
- 帖子: 6550
- 注册时间: 7月 22, 2022, 3:29 pm
- 昵称(选填): 海螺子
#38 Re: 你麻痹 既然讨论到了Mmap 你来说说 你在实际工作中用到的哪个情形?
操,连OS有cache都不知道。太夸张了,现在的同学们都不学OS了么?
-
- 论坛支柱
- 帖子: 13372
- 注册时间: 7月 22, 2022, 9:19 am
-
- 论坛精英
- 帖子: 6550
- 注册时间: 7月 22, 2022, 3:29 pm
- 昵称(选填): 海螺子