AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[memory](server)

Martin Hope
Filip Stefanov
Asked: 2025-01-03 17:53:56 +0800 CST

memtester 错误在顺序循环中消失

  • 5

知道为什么每次循环错误率都会下降吗?
双通道 Geil EVO Spear DDR4-2133

sudo memtester 6000 5

memtester version 4.5.1 (64-bit)
Copyright (C) 2001-2020 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffffffffffff000
want 6000MB (6291456000 bytes)
got  6000MB (6291456000 bytes), trying mlock ...locked.
Loop 1/5:
  Stuck Address       : testing   2FAILURE: possible bad address line at offset 0x000c04d0.
Skipping to next test...
  Random Value        : FAILURE: 0x3ed5db7679ece79f != 0x3ed7db7679ece79f at offset 0x2027fce0.
FAILURE: 0xf7fc8f5ffe7e74ef != 0xf7fe8f5ffe7e74ef at offset 0x35fa5ce0.
FAILURE: 0x10400b8d82107fb3 != 0x10420b8d82107fb3 at offset 0x35fa5ce0.
  Compare XOR         : FAILURE: 0x60a20d1c0800e073 != 0x60a00d1c0800e073 at offset 0x61914de0.
  Compare SUB         :   Compare MUL         : ok
FAILURE: 0x2000000000004 != 0x00000004 at offset 0x319f1ce0.
FAILURE: 0x2000000000004 != 0x00000004 at offset 0x659e9ce0.
  Compare DIV         : FAILURE: 0xfffdffffffffffff != 0xffffffffffffffff at offset 0x35fa5ce0.
  Compare OR          : FAILURE: 0xc7f4e347d8fafda != 0xc7e4e347d8fafda at offset 0x0a5fb5d0.
FAILURE: 0xc7f4e347d8fafda != 0xc7e4e347d8fafda at offset 0x3c3094d0.
  Compare AND         : FAILURE: 0xffec15854f70c19d != 0xffee15854f70c19d at offset 0x088b5ce0.
FAILURE: 0xffec1585563811bd != 0xffee1585563811bd at offset 0x3ec5dde0.
  Sequential Increment:   Solid Bits          : testing   2FAILURE: 0xfffeffffffffffff != 0xffffffffffffffff at offset 0x09c774d0.
  Block Sequential    : testing   0FAILURE: 0x2000000000000 != 0x00000000 at offset 0x659e9ce0.
FAILURE: 0x1000000000000 != 0x00000000 at offset 0x692f15d0.
FAILURE: 0x2000000000000 != 0x00000000 at offset 0x7a8adce0.
  Checkerboard        : testing   1FAILURE: 0xaaa8aaaaaaaaaaaa != 0xaaaaaaaaaaaaaaaa at offset 0x35fa5ce0.
  Bit Spread          : testing   0FAILURE: 0x1000000000005 != 0x00000005 at offset 0x3abe94d0.
  Bit Flip            : testing   3FAILURE: 0x2000000000001 != 0x00000001 at offset 0x3abe5de0.
  Walking Ones        : ok         
  Walking Zeroes      : ok         
  8-bit Writes        : ok
  16-bit Writes       : ok

Loop 2/5:
  Stuck Address       : ok         
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
FAILURE: 0x2000000000001 != 0x00000001 at offset 0x53351ce0.
FAILURE: 0x2000000000001 != 0x00000001 at offset 0x65ae9ce0.
  Compare DIV         :   Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : testing   3FAILURE: 0x2000000000000 != 0x00000000 at offset 0x659e9ce0.
  Block Sequential    : testing   0FAILURE: 0x2000000000000 != 0x00000000 at offset 0x319f1ce0.
  Checkerboard        : testing  11FAILURE: 0xaaa8aaaaaaaaaaaa != 0xaaaaaaaaaaaaaaaa at offset 0x35fa5ce0.
  Bit Spread          : ok         
  Bit Flip            : testing  77FAILURE: 0x1000000000200 != 0x00000200 at offset 0x692f15d0.
  Walking Ones        : ok         
  Walking Zeroes      : ok         
  8-bit Writes        : ok
  16-bit Writes       : ok

Loop 3/5:
  Stuck Address       : testing   5FAILURE: possible bad address line at offset 0x3e2814d0.
Skipping to next test...
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : testing  15FAILURE: 0x1000000000000 != 0x00000000 at offset 0x692f15d0.
  Block Sequential    : testing 152FAILURE: 0x989a989898989898 != 0x9898989898989898 at offset 0x22c61de0.
  Checkerboard        : ok         
  Bit Spread          : ok         
  Bit Flip            : ok         
  Walking Ones        : ok         
  Walking Zeroes      : ok         
  8-bit Writes        : ok
  16-bit Writes       : ok

Loop 4/5:
  Stuck Address       : ok         
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok         
  Block Sequential    : ok         
  Checkerboard        : ok         
  Bit Spread          : ok         
  Bit Flip            : ok         
  Walking Ones        : ok         
  Walking Zeroes      : ok         
  8-bit Writes        : ok
  16-bit Writes       : ok

Loop 5/5:
  Stuck Address       : ok         
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok         
  Block Sequential    : ok         
  Checkerboard        : ok         
  Bit Spread          : ok         
  Bit Flip            : ok         
  Walking Ones        : ok         
  Walking Zeroes      : ok         
  8-bit Writes        : ok
  16-bit Writes       : ok

Done.
memory
  • 1 个回答
  • 95 Views
Martin Hope
Scott Mitchell
Asked: 2024-05-16 08:01:54 +0800 CST

“页面文件使用率超过80%”警告如何处理?

  • 5

我将用这样的事实作为序言:我是一名软件开发人员,对服务器管理员的角色印象深刻。

我们有一台装有 Windows Server 2016 的服务器,具有以下设置:

MemoryDetails       : InstalledRamGB UsableRamGB
                      -------------- -----------
                                 192      190.63

PhysicalMemoryUsage : TotalGB UsedGB FreeGB PercentUsed
                      ------- ------ ------ -----------
                       190.63  42.42 148.21       22.25

VirtualMemoryUsage  : TotalGB UsedGB FreeGB PercentUsed
                      ------- ------ ------ -----------
                       194.63  56.58 138.04       29.08

PageFile            : Location        InitialSizeGB MaxSizeGB PeakUsageGB PeakUsePercent
                      --------        ------------- --------- ----------- --------------
                      C:\pagefile.sys             4         4           4            100

我们有一个在该服务器上运行的特定进程,它可以定期消耗 5 GB 以上的 RAM。在内存较多的时候,我们会收到这些警报:

页面文件使用率超过 80%,请考虑增加安装内存或增加页面文件大小。

这里的标准协议是什么?

  1. 安装更多内存- 不确定是否需要。如您所见,当警报发生时,我们有 42 GB 未使用的 RAM
  2. 更改页面文件大小。我从来没有这样做过。就像将页面文件大小从 4 GB 调整到 10 GB 一样简单吗?由此会产生什么问题吗?
  3. 什么也不做,保持原样。老实说,我不确定这些警报是否表明存在性能问题。保持原样有什么坏处吗?

谢谢

memory
  • 1 个回答
  • 39 Views
Martin Hope
Rama
Asked: 2024-03-30 01:23:23 +0800 CST

不明内存

  • 5

问候!一台配备 512GB RAM(16 个插槽 * 32GB)的服务器,操作系统为 Ubuntu 22.04。在启动过程中,dmesg 中显示服务器保留了 16259356K(15GB) RAM,导致操作系统仅可用 498GB。我无法确定 15GB 分配在哪里。请你帮助我好吗。

1.) Dmidecode for RAM.
root@apac2-prd241:~# dmidecode -t memory |grep Size
    Size: 32 GB
    Size: 32 GB
    Size: 32 GB
    Size: 32 GB
    Size: 32 GB
    Size: 32 GB
    Size: 32 GB
    Size: 32 GB
    Size: 32 GB
    Size: 32 GB
    Size: 32 GB
    Size: 32 GB
    Size: 32 GB
    Size: 32 GB
    Size: 32 GB
    Size: 32 GB


2.) dmesg log.
root@apac2-prd241:~# grep Memory /var/log/dmesg
[    3.919928] kernel: Memory: 520513460K/536773076K available (16393K kernel code, 4395K rwdata, 10908K rodata, 3360K init, 18708K bss, 16259356K reserved, 0K cma-reserved)
[    8.227673] kernel: x86/mm: Memory block size: 2048MB


3.) System RAM.
root@apac2-prd241:~# free -g
               total        used        free      shared  buff/cache   available
Mem:             497          39         439          17          18         438
Swap:              0           0           0
memory
  • 1 个回答
  • 200 Views
Martin Hope
yakatz
Asked: 2023-12-08 21:39:58 +0800 CST

3/12 内存插槽不起作用 - 处理器或主板坏了

  • 6

我有一台 Dell PowerEdge M630 刀片服务器,配备 2 个 Xeon E5-2630 v4 处理器,支持四通道内存。该刀片支持 24 条 RAM,每个处理器 12 条,每通道 3 个插槽。

我添加了 RAM 来填满它(24 个 16GB 内存条),但系统显示只有 336 GB,而不是 384GB,并且 iDRAC 清单显示插槽 B3、B7 和 B11 未填充。没有 BIOS 警告或 iDRAC 警告。

我调换了棍子,以确保问题不在于特定的死棍。我的下一个想法是尝试更换处理器,看看是否是处理器或插槽/主板的问题,但在我解决这个问题之前,还有什么我应该检查的吗?

,内存布局

memory
  • 1 个回答
  • 50 Views
Martin Hope
Brad
Asked: 2022-11-09 05:07:33 +0800 CST

第 1 层 OEM 级内存?

  • 4

我们需要为一些服务器购买一些内存。我一共有三句话。一个用于戴尔的内存,一个用于金士顿内存,一个用于 Crucial/Micron 内存。

关键内存和金士顿内存的价格是戴尔相同内存的一半。

我向戴尔询问了为什么他们的内存比替代品贵 2 倍,我得到的答案是:

“戴尔内存更贵,因为它是 1 级 OEM 级别,这是更高质量级别的 RAM。戴尔内存的保修也通过戴尔技术支持进行。”

保修部分对我来说完全有意义 - 我通过戴尔购买意味着我有 4 小时的更换内存周转时间。

然而,什么是“Tier-1 OEM 级内存”?有这样的事吗?如果有 - 它是“更高质量”的记忆吗?或者这一切都是为了证明收费翻倍是有道理的?

我找不到太多关于一级 OEM 级内存的信息,所以我倾向于认为这是无意义的双说,但我想知道他们是否知道我不知道的事情。

hardware memory
  • 1 个回答
  • 37 Views
Martin Hope
deepbluecake123
Asked: 2022-04-11 06:31:05 +0800 CST

重负载测试期间内存使用率非常低

  • 0

我有一个 wordpress 网站,我在上面进行了繁重的负载测试。正如您在下面看到的,CPU 使用率当然很高,但同时 RAM 使用率永远不会高于 0.4%。负载测试不会产生任何错误,但网站的加载时间很长。我担心 RAM 的可用容量并没有真正使用。还是每秒 10000 个客户端的低 RAM 使用率是正常的?

服务器规格:

  • CPU:AMD Ryzen 7 PRO 3700 8 核处理器(16 核)
  • 内存:64 GB
  • 固态硬盘:960 GB NVMe
  • 带宽:1 Gbps
  • 操作系统:Ubuntu 20.04.4 LTS

未激活缓存

top我用命令得到这些结果

top - 14:12:22 up  4:11,  2 users,  load average: 29.49, 16.27, 7.29
Tasks: 467 total, 143 running, 301 sleeping,  23 stopped,   0 zombie
%Cpu(s): 27.6 us, 45.5 sy,  0.0 ni, 24.8 id,  0.0 wa,  0.0 hi,  2.1 si,  0.0 st
MiB Mem :  64306.9 total,  50683.7 free,   7559.5 used,   6063.7 buff/cache
MiB Swap:   7630.0 total,   7630.0 free,      0.0 used.  55881.2 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  37346 nginx     20   0  270356 266728   6364 R  78.1   0.4   2:19.89 nginx
  57982 fibonac+  20   0  355720 153908 105132 S  14.0   0.2   0:03.36 php-fpm
  61772 fibonac+  20   0  353552 150692 105776 S  14.0   0.2   0:01.26 php-fpm
   1524 mysql     20   0 9117616 192712  20468 S  13.6   0.3   1:17.50 mysqld
  57048 fibonac+  20   0  355788 153888 105072 S  13.6   0.2   0:04.08 php-fpm
  59186 fibonac+  20   0  353712 151920 105132 S  13.6   0.2   0:02.86 php-fpm
  61435 fibonac+  20   0  353680 150108 105120 R  13.6   0.2   0:01.66 php-fpm
  57693 fibonac+  20   0  355760 153964 105132 S  13.3   0.2   0:04.53 php-fpm
  59195 fibonac+  20   0  353684 151912 105124 S  13.3   0.2   0:02.86 php-fpm
  51154 fibonac+  20   0  357824 156160 105136 R  12.3   0.2   0:08.10 php-fpm
  51197 fibonac+  20   0  357780 156064 105088 R  12.0   0.2   0:07.05 php-fpm
  58034 fibonac+  20   0  355728 153616 105132 R  11.0   0.2   0:03.17 php-fpm
  51261 fibonac+  20   0  357780 156064 105136 R  10.0   0.2   0:06.74 php-fpm
  52563 fibonac+  20   0  358116 162056 110892 R  10.0   0.2   0:06.62 php-fpm
  57410 fibonac+  20   0  355728 153948 105132 R  10.0   0.2   0:03.86 php-fpm
  59521 fibonac+  20   0  351636 149816 105136 R  10.0   0.2   0:01.98 php-fpm
  60246 fibonac+  20   0  353752 151856 105140 R  10.0   0.2   0:02.70 php-fpm
  51147 fibonac+  20   0  357812 156156 105136 R   9.6   0.2   0:07.93 php-fpm
  51210 fibonac+  20   0  357780 156136 105136 R   9.6   0.2   0:08.08 php-fpm
  51225 fibonac+  20   0  357776 156112 105128 R   9.6   0.2   0:07.47 php-fpm
  51241 fibonac+  20   0  357780 156112 105136 R   9.6   0.2   0:06.95 php-fpm
  51251 fibonac+  20   0  357784 156072 105136 R   9.3   0.2   0:06.92 php-fpm
  51255 fibonac+  20   0  357784 156132 105140 R   9.3   0.2   0:07.43 php-fpm
  57054 fibonac+  20   0  355784 153952 105124 R   9.3   0.2   0:03.91 php-fpm
  57056 fibonac+  20   0  355768 153960 105132 R   9.3   0.2   0:03.85 php-fpm
  59192 fibonac+  20   0  353708 151508 105120 R   9.3   0.2   0:02.73 php-fpm
  61746 fibonac+  20   0  343316 140124 105140 R   9.3   0.2   0:00.74 php-fpm
  51233 fibonac+  20   0  357776 156112 105140 R   9.0   0.2   0:06.65 php-fpm
  51243 fibonac+  20   0  357784 156140 105120 R   9.0   0.2   0:07.97 php-fpm
  55161 fibonac+  20   0  355728 153988 105132 R   9.0   0.2   0:04.28 php-fpm
  57424 fibonac+  20   0  355736 153600 105132 R   9.0   0.2   0:03.30 php-fpm
  59185 fibonac+  20   0  353684 151496 104832 R   9.0   0.2   0:02.73 php-fpm
  51177 fibonac+  20   0  357812 156132 105136 R   8.6   0.2   0:07.17 php-fpm
  57401 fibonac+  20   0  355728 153620 105132 R   8.6   0.2   0:03.25 php-fpm
  51239 fibonac+  20   0  357836 156128 105136 R   8.3   0.2   0:06.93 php-fpm
  54835 fibonac+  20   0  357776 155544 104892 R   8.3   0.2   0:04.93 php-fpm
  61764 fibonac+  20   0  345492 143512 105588 R   8.3   0.2   0:01.07 php-fpm
  50951 fibonac+  20   0  357860 156164 105140 R   8.0   0.2   0:08.77 php-fpm
  51024 fibonac+  20   0  357816 156128 105136 R   8.0   0.2   0:07.97 php-fpm
  51160 fibonac+  20   0  357808 156156 105136 R   8.0   0.2   0:07.45 php-fpm
  54833 fibonac+  20   0  357832 155788 104816 R   8.0   0.2   0:06.09 php-fpm
  57047 fibonac+  20   0  355788 153864 105068 R   8.0   0.2   0:03.91 php-fpm
  59193 fibonac+  20   0  355760 153208 105080 R   8.0   0.2   0:03.08 php-fpm
  63679 fibonac+  20   0  260456 107648  80836 R   8.0   0.2   0:00.24 php-fpm
  63682 fibonac+  20   0  260456 107672  80860 R   8.0   0.2   0:00.24 php-fpm
  51028 fibonac+  20   0  357856 156068 105136 R   7.6   0.2   0:06.58 php-fpm
  53620 fibonac+  20   0  357776 156048 105132 R   7.6   0.2   0:05.68 php-fpm
  54832 fibonac+  20   0  357776 155968 105052 R   7.6   0.2   0:05.61 php-fpm
  55152 fibonac+  20   0  357780 156040 105132 R   7.6   0.2   0:05.36 php-fpm
  57981 fibonac+  20   0  355732 153596 105132 R   7.6   0.2   0:03.30 php-fpm
  58035 fibonac+  20   0  355736 153604 105132 R   7.6   0.2   0:03.29 php-fpm
  59184 fibonac+  20   0  353736 151484 105100 R   7.6   0.2   0:02.47 php-fpm
  59189 fibonac+  20   0  356072 159176 110760 R   7.6   0.2   0:05.38 php-fpm
  63683 fibonac+  20   0  260456 106668  80072 R   7.6   0.2   0:00.23 php-fpm
  51208 fibonac+  20   0  357780 156188 105140 R   7.3   0.2   0:07.25 php-fpm
  51237 fibonac+  20   0  357776 156184 105136 R   7.3   0.2   0:07.43 php-fpm
ubuntu memory wordpress load-testing high-load
  • 1 个回答
  • 215 Views
Martin Hope
eheu
Asked: 2022-02-03 01:41:32 +0800 CST

我的具有约 80GB 可用 RAM 的交换服务器是否需要更多?

  • 0

我正在管理一个 Debian Linux x86_64 服务器,它有 125GB RAM、10GB 交换分区和 60 的交换值。

free -gw输出打印:

              total        used        free      shared     buffers       cache   available
Mem:            125          20           1          25           0         103          78
Swap:             9           1           7

每天晚上,都会运行一个 cron 作业,该作业对磁盘 R/W 非常密集,并且在执行期间将使用的内存增加 2GB,然后返回到 ~20GB。

在同一时间范围内,某些长期运行的容器化 Python 进程(尤其是 gunicorn)被分页。

随着时间的推移,这些进程将逐渐填满交换空间——几周后,交换空间将达到 99%。

swapoff我可以通过重新启动进程或使用and禁用和重新启用来清除交换swapon。但是 Python 进程的交换使用将再次缓慢上升。

我想部分解释可能是,由于每晚的 cron 作业,内核将文件系统缓存的优先级高于 Python 进程。但我也猜想这些 Python 进程的内存处理中的一些软件错误可能是罪魁祸首。

一位朋友建议我购买更多 RAM,以便为文件系统缓存提供更多空间。这对我来说似乎太过分了。我想更准确地诊断交换的原因并找到一些解决问题的软件。

所以现在我将问题传递给 Serverfault - 你如何看待这种现象,我应该从这里去哪里?

linux io memory python swap
  • 1 个回答
  • 78 Views
Martin Hope
yaron
Asked: 2022-01-19 13:46:07 +0800 CST

限制linux缓存内存

  • 0

我知道空闲内存接近 0 并且所有内存都在缓存中是可以的

但这会导致应用程序出现问题

我需要服务器不缓存这么多并将内存释放回空闲

我试着用sudo sysctl -w vm.vfs_cache_pressure=200

但是没有效果

我有 centos 7.9 Linux 3.10.0-1160.49.1.el7.x86_64

              total        used        free        shared  buff/cache   available
Mem:           125G         77G         300M         21M         47G         47G
Swap:          8.0G          0B        8.0G
linux memory
  • 1 个回答
  • 744 Views
Martin Hope
Emerson Prado
Asked: 2022-01-07 11:07:55 +0800 CST

/proc/meminfo 显示 MemFree 大于 MemAvailable - 这有意义吗?

  • 0

据我所知,Linux的这种变化/proc/meminfo报告了内存使用情况,报告MemFree为当前未使用的 RAM,以及MemAvailable当前可用于新进程而无需交换的 RAM。

由此,不MemFree应该包含在 中MemAvailable,因此总是小于或等于它?我猜未使用的 RAM 也可用于新进程而无需交换。还是我误解了“空闲内存不能低于低水位线”(补丁中的第 4 块)部分?

正如预期的那样,这些值匹配free并top输出。

我在具有以下规格的 Exadata 虚拟机中看到了这一点:

cat /etc/oracle-release 
Oracle Linux Server release 7.8

uname -r
4.14.35-1902.306.2.1.el7uek.x86_64

rpm -q sysstat
sysstat-10.1.5-19.el7.x86_64

/proc/meminfo如果有帮助,请在任意时刻充满:

MemTotal:       19995464 kB
MemFree:         2963684 kB
MemAvailable:    1063344 kB
Buffers:          406124 kB
Cached:          2609256 kB
SwapCached:         9648 kB
Active:          4632640 kB
Inactive:        2348256 kB
Active(anon):    3882372 kB
Inactive(anon):   700524 kB
Active(file):     750268 kB
Inactive(file):  1647732 kB
Unevictable:      634040 kB
Mlocked:          634044 kB
SwapTotal:      16777212 kB
SwapFree:       16579068 kB
Dirty:              1684 kB
Writeback:             0 kB
AnonPages:       4592704 kB
Mapped:           384108 kB
Shmem:            484212 kB
Slab:             511064 kB
SReclaimable:     249660 kB
SUnreclaim:       261404 kB
KernelStack:       23184 kB
PageTables:        96648 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    24602016 kB
Committed_AS:    5737344 kB
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
CmaTotal:              0 kB
CmaFree:               0 kB
HugePages_Total:    2122
HugePages_Free:      590
HugePages_Rsvd:        1
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      833536 kB
DirectMap2M:    15943680 kB
DirectMap1G:     5242880 kB

谢谢,
爱默生

memory proc free
  • 1 个回答
  • 288 Views
Martin Hope
bumbleshoot
Asked: 2021-12-13 00:27:48 +0800 CST

MySQL“无法为缓冲池分配内存”内存使用率为 73%?

  • 0

我在 DigitalOcean 液滴(1GB RAM)上托管一个 WordPress 网站。该网站的MySQL数据库偶尔会崩溃,导致网站显示“建立数据库连接时出错”。内存使用量在凌晨 2:40 左右下降,表明这是数据库崩溃的时候。我查看了当天的 MySQL 日志文件,最早的条目是上午 10 点 47 分。这是日志文件的开头:

2021-12-06T10:47:14.800977Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timest$
2021-12-06T10:47:14.806192Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.36-0ubuntu0.18.04.1) starting as process 2810 ...
2021-12-06T10:47:14.819674Z 0 [Note] InnoDB: PUNCH HOLE support available
2021-12-06T10:47:14.819711Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2021-12-06T10:47:14.819716Z 0 [Note] InnoDB: Uses event mutexes
2021-12-06T10:47:14.819720Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2021-12-06T10:47:14.819723Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2021-12-06T10:47:14.819727Z 0 [Note] InnoDB: Using Linux native AIO
2021-12-06T10:47:14.820551Z 0 [Note] InnoDB: Number of pools: 1
2021-12-06T10:47:14.823342Z 0 [Note] InnoDB: Using CPU crc32 instructions
2021-12-06T10:47:14.825847Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2021-12-06T10:47:14.826246Z 0 [ERROR] InnoDB: mmap(137428992 bytes) failed; errno 12
2021-12-06T10:47:14.826258Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2021-12-06T10:47:14.826262Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2021-12-06T10:47:14.826270Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2021-12-06T10:47:14.826274Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2021-12-06T10:47:14.826278Z 0 [ERROR] Failed to initialize builtin plugins.
2021-12-06T10:47:14.826282Z 0 [ERROR] Aborting

2021-12-06T10:47:14.832237Z 0 [Note] Binlog end
2021-12-06T10:47:14.832297Z 0 [Note] Shutting down plugin 'CSV'
2021-12-06T10:47:14.832572Z 0 [Note] /usr/sbin/mysqld: Shutdown complete

根据日志文件,MySQL 似乎内存不足。但是,Droplet 的内存使用率稳定在 73% 左右,直到凌晨 2:40 左右数据库崩溃,才下降到 32%。它似乎有足够的可用内存,那么为什么会崩溃?

编辑根据要求,这是我的 MySQL 配置文件的内容:

/etc/mysql/conf.d/mysql.cnf

[mysql]

/etc/mysql/conf.d/mysqldump.cnf

[mysqldump]
quick
quote-names
max_allowed_packet      = 16M

/etc/mysql/mysql.conf.d/mysqld.cnf

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
nice            = 0

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 127.0.0.1
#
# * Fine Tuning
#
key_buffer_size         = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options  = BACKUP
#max_connections        = 100
#table_open_cache       = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#slow_query_log         = 1
#slow_query_log_file    = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id              = 1
#log_bin                        = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size   = 100M
#binlog_do_db           = include_database_name
#binlog_ignore_db       = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem

/etc/mysql/mysql.conf.d/mysqld_safe_syslog.cnf

[mysqld_safe]
syslog
mysql memory memory-usage
  • 2 个回答
  • 240 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve