免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 17817 | 回复: 22

mysql变成多进程的了? [复制链接]

论坛徽章:
0
发表于 2007-12-11 09:53 |显示全部楼层
遇到一个很奇怪的问题。
昨天下载了mysql5.0.45(是二进制版本,解开就能用的那种),操作系统是RHEL5.1。
没做什么配置,解开tar包就运行mysql,发现产生了多个进程,我记得mysql一直是单进程(多线程)的啊,linux下不应该看到多个进程的。
相关信息如下:

[root@vtest bin]# uname -a
Linux vtest 2.6.18-53.el5 #1 SMP Wed Oct 10 16:34:02 EDT 2007 i686 athlon i386 GNU/Linux
[root@vtest bin]# ./mysqladmin -V
./mysqladmin  Ver 8.41 Distrib 5.0.45, for pc-linux-gnu on i686
[root@vtest bin]# ./mysqld_safe --user=mysql &
[1] 6214
[root@vtest bin]# Starting mysqld daemon with databases from /usr/local/mysql/data
[root@vtest bin]#
[root@vtest ~]# ps ax
~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~
6214 pts/0    S      0:00 /bin/sh ./mysqld_safe --user=mysql
6238 pts/0    S      0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql
6239 pts/0    S      0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql
6240 pts/0    S      0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql
6241 pts/0    S      0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql
6242 pts/0    S      0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql
6243 pts/0    S      0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql
6245 pts/0    S      0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql
6246 pts/0    S      0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql
6247 pts/0    S      0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql
6248 pts/0    S      0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql
6249 pts/1    R+     0:00 ps ax

[root@vtest ~]# top
top - 09:48:10 up  9:03,  2 users,  load average: 0.00, 0.00, 0.00
Tasks:  55 total,   1 running,  54 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    263564k total,   259360k used,     4204k free,    17776k buffers
Swap:  1048568k total,       96k used,  1048472k free,   200296k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
6238 mysql     25   0 49272  12m 2020 S  0.0  5.0   0:00.30 mysqld
6239 mysql     18   0 49272  12m 2020 S  0.0  5.0   0:00.00 mysqld
6240 mysql     25   0 49272  12m 2020 S  0.0  5.0   0:00.00 mysqld
6241 mysql     24   0 49272  12m 2020 S  0.0  5.0   0:00.00 mysqld
6242 mysql     24   0 49272  12m 2020 S  0.0  5.0   0:00.00 mysqld
6243 mysql     25   0 49272  12m 2020 S  0.0  5.0   0:00.00 mysqld
6245 mysql     18   0 49272  12m 2020 S  0.0  5.0   0:00.01 mysqld
6246 mysql     18   0 49272  12m 2020 S  0.0  5.0   0:00.00 mysqld
6247 mysql     18   0 49272  12m 2020 S  0.0  5.0   0:00.00 mysqld
6248 mysql     25   0 49272  12m 2020 S  0.0  5.0   0:00.00 mysqld
5981 root      17   0  9152 2748 2216 S  0.0  1.0   0:02.95 sshd
~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~


有人知道这是怎么回事吗?

论坛徽章:
0
发表于 2007-12-11 09:56 |显示全部楼层
补充一点,RHEL5.1是装在VMware6里面的。

论坛徽章:
0
发表于 2007-12-11 11:42 |显示全部楼层

回复 #2 柳拂风 的帖子

关注

论坛徽章:
0
发表于 2007-12-11 20:57 |显示全部楼层
其实MySQL一直都是单进程、多线程的工作模式。只是,LinuxThreads并不是真正的线程,因此,这些进程其实还是采用系统调用 clone() 来共享同样的地址空间的。尽管采用 ps 查看的结果看起来是多进程,其实mysqld真正的工作方式还是多线程。

论坛徽章:
0
发表于 2007-12-12 16:28 |显示全部楼层
原来如此,
谢了

论坛徽章:
0
发表于 2007-12-13 17:39 |显示全部楼层
原帖由 yejr 于 2007-12-11 20:57 发表
其实MySQL一直都是单进程、多线程的工作模式。只是,LinuxThreads并不是真正的线程,因此,这些进程其实还是采用系统调用 clone() 来共享同样的地址空间的。尽管采用 ps 查看的结果看起来是多进程,其实mysqld真 ...


应该说linux是以进程的方式实现多线程的吧。
bsd应该是真正意义上的多线程

论坛徽章:
0
发表于 2007-12-13 21:36 |显示全部楼层
应该也是一样的,都是单进程,找个环境看看就知道了

论坛徽章:
0
发表于 2007-12-14 09:46 |显示全部楼层
我在CentOS5.1里面试了5.0.45,只看到一个mysqld进程

lz可能是下载了静态编译的mysql二进制安装文件(带有static字样)

斑竹的解释也是合理的

[ 本帖最后由 raid_fifa 于 2007-12-14 09:48 编辑 ]

论坛徽章:
0
发表于 2007-12-16 20:34 |显示全部楼层
我用RPM安装的    分别在CentOS 4.5 32bit 和 64bit上试过

32bit系统下   输入top后   看见多个mysql进程
在64bit系统下   输入top只能看见一个mysql进程      

我也在郁闷之中

而且  按道理说64bit系统的mysql性能应该更好   而我在使用中发现  64bit的mysql比32bit下的mysql更容易崩溃     

目前在狂找资料分析中

论坛徽章:
0
发表于 2007-12-22 22:40 |显示全部楼层
原帖由 sunceenjoy 于 2007-12-13 17:39 发表


应该说linux是以进程的方式实现多线程的吧。
bsd应该是真正意义上的多线程



只有到bsd7,bsd的线程才真正走向成熟了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP