技术解析

Linux 可以把硬盘当内存用吗
0
2021-06-22 06:22:37
idczone

我有台 2g 内存的云服务器,平时写写单体应用是够了。但是现在想尝试下 spring cloud,担心内存不够。查了下好像有交换区这么个东西,不知道大家是否有比较好的实践。


https://wiki.archlinux.org/index.php/Swap

用 swap 简直就是噩梦般的 io 体验

是 SSD 估计烧钱还能顶一下,hdd 的话你会后悔的,分分钟让你体验什么叫小霸王其乐无穷,画面逐行扫描

本机用 Docker,试试?

没有 ls 说的那么严重,旧 pc 做的服务器 2g 内存有时候不够开了 4g swap,需要大内存时确实很慢,但是这种情况不多见啊,Linux 内核默认会尽可能不用 swap,到万不得已才会开始用 swap,所以平时不需要大内存的时候并没有副作用,而需要大内存时又不至于让任务失败。
当然最好还是加 RAM,需要大内存时体验真的不一样

之前 8G 内存编译 tensorflow,一直报内存不足的错误,设置了 swap 分区就编译过了,对我至少是有用的。

用 free -h 命令看一下内存,一般服务器都是自带 swap space 的。

云服务器本来 io 就不好,建议不要设置 swap 会卡卡卡卡死的~~ 物理机可以尝试设置

不是很懂 docker 可以加内存吗 我一直把 docker 当虚拟机用的

我用的腾讯的 建之前看了下是空的 而且只能用性能最差的方式建 可能是我建的 8g 太大了

还好我博客没人看 估计慢点也没事 233

这个不一定的哟,vm.swapiness 内核参数了解一下

硬盘比内存慢多少倍啊

还的看虚拟机类型,openvz 不支持 swap

#12
我说了,“内核默认会”

默认这个值也只有 60,并不符合您所说的“会尽可能不用 swap,到万不得已才会开始用 swap ”。

云服務哪來「画面逐行扫描」……

60 其實不低,參見 https://unix.stackexchange.com/questions/88693/why-is-swappiness-set-to-60-by-default
當然了,如果內存夠大的話確實可以把 swapiness 調到 10 左右,但 LZ 內存只有 2G,夠嗆

另外這人說 Java 比較適合 10 的 swapiness: https://askubuntu.com/questions/103915/how-do-i-configure-swappiness#comment922570_103916

SWAP。。噩梦般的体验-,-||动不动卡住

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服