我注意到我的专用服务器为 mysql 占用了 336mb。该服务器只有大约 10 个域在一天内经常被访问(大约还有 10 个域,但几乎从未被访问过),因此 336mb 似乎相当高。
我一直在观察进程列表,但什么也没有出现(实际上,即使间隔 1 秒,我也几乎看不到任何内容出现)。
有什么方法可以查明每个用户的内存使用情况?这可以帮助我将问题缩小到特定网站。
自由的:
total used free shared buffers cached
Mem: 916144 660536 255608 0 0 0
-/+ buffers/cache: 660536 255608
Swap: 0 0 0
顶部:
15:25:23 up 105 days, 52 min, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 49 total, 1 running, 48 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 0.1% sy, 0.0% ni, 99.6% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 916144k total, 663328k used, 252816k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 0k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20224 mysql 16 0 336m 79m 6844 S 0.3 8.9 0:08.67 mysqld
7758 root 16 0 147m 53m 9524 S 0.0 6.0 2:13.47 httpd
17917 apache 15 0 148m 51m 6696 S 0.0 5.7 0:00.67 httpd
27977 apache 16 0 148m 50m 6184 S 0.0 5.7 0:00.39 httpd
26566 apache 15 0 148m 49m 4540 S 0.0 5.5 0:00.02 httpd
6111 apache 16 0 68636 42m 600 S 0.0 4.8 0:00.19 httpd
答案1
您可能希望通过以下脚本查看 mysql 的内部数字http://hackmysql.com/mysqlreport这可能会让您更深入地了解 MySQL 正在跟踪的内容。