首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的记忆要花这么多?

为什么我的记忆要花这么多?
EN

Database Administration用户
提问于 2020-01-26 13:05:38
回答 2查看 77关注 0票数 -1

我是Linux的初学者。服务器计算机的内存为2GB。

我刚刚在docker中安装了一个MySQL服务器:最新版本,并在一个容器中运行它。

现在MySQL没有任何数据库表,只有一个全新的MySQL。

然而,在我安装CentOS8之后,它经常挂起。

我像这样检查了内存成本:

代码语言:javascript
复制
[root@test ~]# ps -aux | sort -k4nr | head -10
mysql    19410  1.1 20.9 1854552 391940 ?      Ssl  20:34   0:01 mysqld
root      1452  0.4 12.0 3151680 225168 ?      Sl   18:49   0:30 /usr/bin/gnome-shell
root     19101  3.6  7.9 1276148 149300 pts/1  SLl+ 20:33   0:07 /usr/libexec/mysql-workbench/mysql-workbench-bin
root      2088  0.1  2.4 1143892 45092 ?       Ssl  18:50   0:06 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root      1351  0.0  2.0 569096 37964 tty1     S<l  18:49   0:05 /usr/libexec/Xorg :0 vt1 -keeptty -auth /root/.serverauth.1328
root      1800  0.0  1.9 1401944 37036 ?       Sl   18:49   0:01 /usr/bin/gnome-software --gapplication-service
root      2464  0.0  1.5 12032812 28968 ?      SLsl 18:51   0:06 dotnet test.dll
root      1922  0.0  1.4 368984 27032 ?        S    18:49   0:00 /usr/libexec/platform-python /usr/libexec/rhsmd
root      2087  0.3  1.4 1133376 26504 ?       Ssl  18:50   0:20 /usr/bin/containerd
root      2740  0.2  1.2 204224 22576 ?        Ss   18:59   0:16 /usr/libexec/sssd/sssd_kcm --uid 0 --gid 0 --logger=files

正如您所看到的,mysqld的成本最高。

在我杀了mysqld之后,一切都运行得很好。系统将不再挂起,而我也无法访问数据库。

我从未见过这种情况,甚至在2016年windows服务器上使用同一台计算机运行MySQL之前也是如此。

我怎么才能解决这个问题?你能帮帮我吗?谢谢。

EN

回答 2

Database Administration用户

回答已采纳

发布于 2020-01-29 04:25:25

找到配置文件。降低此设置:

代码语言:javascript
复制
innodb_buffer_pool_size = 300M

它可能比这更大,因此耗尽了一堆内存。

票数 1
EN

Database Administration用户

发布于 2020-01-26 14:07:49

2GB内存并不多,特别是对于服务器来说。(我的2+手机的内存比你的服务器多2倍)

2 CPU核心& 2GB是支持MySQL配置所需的最低限度。数据库系统是内存密集型的,因为它们被设计用来处理大量数据。RDBMS希望将数据保存在内存中,以避免执行物理IO操作。

可以安全地假设操作系统和MySQL的这个2GB的最低帐户,而服务器上没有其他的运行帐户。

我从ps命令的输出中注意到,您还在运行MySQL工作台、Docker、Python和其他一些位。单独而言,这些都不是资源密集型的,但它们都有自己的内存& CPU需求,它们都在争夺非常小的内存。

最终,你只需要更多的马力,特别是在性能很重要的情况下。您可以尝试将除MySQL之外的所有内容转移到不同的服务器上,并尽可能地探索尽可能简约的发行版,但这条路径的成功并不一定。只需添加更多内存(可能还有vCPUs)..。考虑到内存占用量很小,我认为CPU数量非常少)是一件“确定的事情”。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/258208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档