也网上查了查 linux 的内存管理, cache 会很大
但这是我 dd 克隆的 ubuntu16.04, 原先的系统开机最多占用 1G+的内存, 到了克隆的系统上开机就占用 8G+而且刚开始系统卡出翔, 这是为什么呢?
[注: 原先 ssd256G+8G, 新机器机械 512G+12G]
1
billlee 2016-10-27 22:31:09 +08:00
卡是 ssd 换成了 hdd 的原因吧,和内存没关系
|
2
GGGG430 OP @billlee 变化也就是机器变了, 可能吧, 用上一会内存就下来了, 但忍受不了开机后那十分钟的等待(卡死), 有好的建议吗?
|
3
blahgeek 2016-10-27 22:38:36 +08:00
卡出翔是 HDD 的锅吧,内存里面 3.5G 是 cache ,真正占用没有那么多
|
4
redsonic 2016-10-27 22:38:39 +08:00
Active , inactive 说明都是用户态程序占用的,就不能看看是哪个进程吗 ps -ao rss,pid,comm |sort -n
|
5
ruojiner 2016-10-27 22:39:34 +08:00 via Android
Linux 发行版默认会在 SSD 和 HDD 使用不同的 IO 调度器
|
6
GGGG430 OP @redsonic
RSS PID COMMAND 768 10041 sort 1520 10040 ps 3936 8748 sudo 5440 8758 gpgv 5696 8756 http 5748 8755 http 13852 9136 store 24716 8749 aptitude |
7
skydiver 2016-10-27 23:05:33 +08:00 via iPad
很好理解吧。机械硬盘比较慢,当然 cache 越大越好啊,凑够了一起写进去。 ssd 比较快,就随用随写了。
|
8
skydiver 2016-10-27 23:06:37 +08:00 via iPad
cache 并不算使用了的内存,系统只是把空闲内存当 cache 用了而已,真的不够用的时候会刷回磁盘。所以不用在意这个。
|
13
GGGG430 OP |
15
eyp82 2016-10-28 07:27:08 +08:00 2
我来回答一记, 不对的地方请各位拍砖:
在 Linux 上不用担心 buff/cache 过大, 因为这是系统在尽量充分利用内存. 如果你的应用程序需要分配内存而有没有足够的空闲内存, 它会把 buff/cache 释放, 把内存分给应用程序, 因此 buff/cache 占用内存不是问题, 不需要担心. Linux 的设计观念是, 尽量充分利用系统资源, 包括内存. |
17
franklinyu 2016-10-28 13:40:23 +08:00
Ubuntu 16.04 新出了後臺系統自動更新安全補丁,說不定是這個東西的鍋。可能是你上面提到的 aptitude 。
|
18
kelvansun 2016-10-28 15:13:15 +08:00
硬盘配置不同的电脑最好是新安装系统,不要 DD
|
20
kelvansun 2016-10-29 08:37:34 +08:00
@GGGG430 这样看你的 Linux 基础怎么样了,如果你玩过 Gentoo 或 LFS 那用别的 Linux 发行版就容易多了
|
21
chocotan 2016-10-29 13:02:24 +08:00
@eyp82
可是我自己的电脑上似乎根本不会被释放......经常出现内存不够程序崩溃的情况(虚拟机 ide 等).....一检查全是被 buff cache 占了.....而且也清不掉...... |
22
ericgui 2016-10-31 00:36:30 +08:00
都 12G 内存了,还配个机械硬盘,您老人家真是有趣
|