Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql正在接受更多&;我的linux/Centos服务器上有更多RAM_Mysql_Linux_Centos - Fatal编程技术网

Mysql正在接受更多&;我的linux/Centos服务器上有更多RAM

Mysql正在接受更多&;我的linux/Centos服务器上有更多RAM,mysql,linux,centos,Mysql,Linux,Centos,我运行的是一个专用服务器,具有16Go或RAM和1Go交换。 我在服务器上的实时统计数据显示,我的ram的一半以上和交换的99%用于我的: /usr/libexec/mysqld --basedir?/usr --datadir?/home/mysql --user?mysql --log-error?/var/log/mysqld.log --pid-file?/var/run/mysqld/mysqld.pid --socket?/ 它会随着时间的推移而不断增加,即使重新启动mysql也不

我运行的是一个专用服务器,具有16Go或RAM和1Go交换。 我在服务器上的实时统计数据显示,我的ram的一半以上和交换的99%用于我的:

/usr/libexec/mysqld --basedir?/usr --datadir?/home/mysql --user?mysql --log-error?/var/log/mysqld.log --pid-file?/var/run/mysqld/mysqld.pid --socket?/
它会随着时间的推移而不断增加,即使重新启动mysql也不会改变它

当我做一个

 mysql> SHOW PROCESSLIST
我得到了结果

+------+-----------+-----------------+-------+---------+------+-------+------------------+
| Id   | User      | Host            | db    | Command | Time | State | Info             |
+------+-----------+-----------------+-------+---------+------+-------+------------------+
|    7 | root      | localhost:51312 | mysql | Sleep   |    5 |       | NULL             |
| 7156 | mailadmin | localhost:58878 | mail  | Sleep   | 3406 |       | NULL             |
| 9302 | mailadmin | localhost:32868 | mail  | Sleep   |  749 |       | NULL             |
| 9305 | mailadmin | localhost       | mail  | Sleep   |  747 |       | NULL             |
| 9802 | mailadmin | localhost       | mail  | Sleep   |    9 |       | NULL             |
| 9803 | mailadmin | localhost       | mail  | Sleep   |    9 |       | NULL             |
| 9807 | mailadmin | localhost       | mail  | Sleep   |    9 |       | NULL             |
| 9808 | mailadmin | localhost       | mail  | Sleep   |    9 |       | NULL             |
| 9825 | root      | localhost       | NULL  | Query   |    0 | NULL  | SHOW PROCESSLIST |
+------+-----------+-----------------+-------+---------+------+-------+------------------+
9 rows in set (0.00 sec)

free -m -l
告诉我:

  total       used       free     shared    buffers     cached
Mem:         16094      14431       1663          0       1318       5404
Low:         16094      14431       1663
High:            0          0          0
-/+ buffers/cache:       7708       8385
Swap:         1021        996         25
我不知道如何处理这件事。看起来我将达到服务器的RAM限制,这可能会导致速度变慢


提前谢谢你,我呆在这里,准备向你提供更多信息。

我想你被垃圾邮件了。您的邮件服务器接收或发送的邮件太多。最好检查你的收发邮件


你会考虑安装SPAMASASI/AMAVISD之类的东西吗?我想如果你打开你的邮件服务器,你会看到它降低了,它会通过垃圾邮件验证它的邮件服务器。

我想你是被垃圾邮件攻击了。您的邮件服务器接收或发送的邮件太多。最好检查你的收发邮件

你会考虑安装SPAMASASI/AMAVISD之类的东西吗?我想如果你打开你的邮件服务器,你会看到它降低了,并且会通过垃圾邮件验证它的邮件服务器。

你说的“重新启动mysql不会改变它”似乎意味着使用所有内存的不是
mysqld

查找使用最多内存的进程的基本方法是运行
htop
并按其中一个内存列排序,如
VIRT
。它可能不仅仅是一个进程,还可能是一系列使用内存的进程。(报告的部分内存是共享的,您不能只为所有
mysql
进程添加内存…在
htop
中,使用按键
F5
H
获得“树视图”

在本例中,mysql使用的是
11G
,73%的可用内存。这是意料之中的,因为这是我们分配的,大部分内存分配给InnoDB缓冲池。(专用mysql服务器)

(可能有很多更好的方法可以查看内存的使用情况,但是
htop
可以很好地向我展示正在运行的进程。)

你说的“重启mysql不会改变它”似乎暗示并不是
mysqld
占用了所有内存

查找使用最多内存的进程的基本方法是运行
htop
并按其中一个内存列进行排序,如
VIRT
。这可能不仅仅是一个进程,还可能是一系列使用内存的进程。(报告的部分内存是共享的,您不能只为所有
mysql
进程添加内存…在
htop
中,使用按键
F5
H
获得“树视图”

在本例中,mysql使用的是
11G
,73%的可用内存。这是意料之中的,因为这是我们分配的,大部分内存分配给InnoDB缓冲池。(专用mysql服务器)


(可能有很多更好的方法可以查看内存的使用情况,但是
htop
可以很好地向我展示正在运行的进程。)

谢谢你的提示。我真的不确定什么进程有用或不有用。这是我结果的屏幕截图。@Tayax:这可能有助于按
VIRT
列对
htop
显示进行排序。从输出来看,mysql服务器似乎使用了2.5GB内存。看起来有9个
mailman
进程总共使用了1个。8GB,看起来像4个amavis进程,总共使用了1.5GB。另外,699MB用于
fail2ban服务器
,423MB用于
clamd
,670MB用于
命名
,600MB用于
collect
,apache web服务器使用(132+647)=779MB。(我不是以专家的身份,我可能读错了输出。)请尝试按VIRT排序,或按用户筛选。谢谢您提供的所有详细信息。这是带树形图的VIRT排序。有没有办法停止某些域的mailmain?谢谢您提供的提示。我不确定什么过程有用或不有用。这是我的结果的屏幕截图。@Tayax:这可能有助于按
VIRT
列。从输出来看,mysql服务器似乎使用了2.5GB的内存。看起来有9个
mailman
进程使用了1.8GB的内存,看起来有4个amavis进程使用了1.5GB的内存。另外,699MB用于
fail2ban服务器
,423MB用于
clad
,670MB用于
命名的
,600MB用于
collectd
,apache web服务器使用(132+647)=779MB。(我不是以专家的身份介绍自己,我可能读错了输出。)请尝试按VIRT排序,或按用户筛选。谢谢您提供的所有详细信息。这是带有树映射的VIRT排序。有没有办法停止某些域的mailmain?到目前为止,后缀队列中没有任何内容,因此我不确定如何检查我是否被垃圾邮件。是否可以仅对某些域取消邮件的激活?甚至外部化MX?到目前为止,后缀队列中没有任何内容,因此我不确定如何检查是否有人向我发送垃圾邮件。是否可以仅对某些域取消邮件活动?或者甚至将MX外部化?
  PID USER     PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
19510 mysql     20   0 11.0G 5849M  3808 S 16.0 73.1 81h33:04 /opt/mysql/bin/mysqld --basedir=/opt/mysql --datadir=/opt/mysql_data --user=mysql --log-error=/
 1016 syslog    20   0  220M   940   580 S  0.0  0.0  5:28.12 rsyslogd -c4
 1651 root      20   0  145M  1100   784 S  0.0  0.0  8:26.81 /usr/sbin/automount
 1243 root      20   0 98496  1348  1036 S  0.0  0.0  3h19:31 /usr/sbin/vmtoolsd
13816 root      20   0 90868  1340   404 S  0.0  0.0  0:00.02 sshd: xxxxxx [priv]
13905 mysql     20   0 81548  1120   428 S  0.0  0.0  0:00.02 su - mysql
 1674 Debian-e  20   0 64724   408   332 S  0.0  0.0  0:09.08 /usr/sbin/exim4 -bd -q30m
 1030 root      20   0 63256   472   360 S  0.0  0.0  1:32.65 /usr/sbin/sshd
    1 root      20   0 61840   996   472 S  0.0  0.0  1:05.14 /sbin/init