Justin's profilePopgo企业学习PhotosBlogListsMore ![]() | Help |
Popgo企业学习寻觅冷清凄惨戚 |
|||||
|
April 19 Linux Bug 240154 - gam_server using 100% of CPUBug 240154 - gam_server using 100% of CPU (strace shows nothing) MySQL Architecture MySQL Core Modules: Server Initialization Module The Server Initialization Module is responsible for the server initialization on startup sql/mysqld.cc sql/sql_acl.cc slq/slave.cc Connection Manager The Connection Manager listens for incoming connections from clients, and dispatches the requests to the Thread Manager sql/mysqld.cc Thread Manager The Thread Manager is responsible for keeping track of threads and for making sure a thread is allocated to handle the connection from a client sql/mysqld.cc sql/sql_class.cc Connection Thread The Connection Thread is the heart of the work of processing client requests on an established connection sql/sql_parse.cc User Authentication Module The User Authentication Module authenticates the connecting user and initializes the structures and variables containing the information on his level of privileges sql/sql_parse.cc sql/sql_acl.cc sql/password.cc Access Control Module The Access Control Module verifies that the client user has sufficient privileges to perform the requested operation sql/sql_acl.cc sql/sql_parse.cc Parser The Parser is responsible for parsing queries and generating a parse tree sql/sql_parse.cc sql/sql_yacc.cc sql/sql_lex.cc Command Dispatcher The Command Dispatcher is responsible for directing requests to the lower-level modules that will know how to resolve them sql/sql_parse.cc Query Cache Module The Query Cache Module caches query results, and tries to short-circuit the execution of queries by delivering the cached result whenever possible sql/sql_cache.cc Optimizer The Optimizer is responsible for creating the best strategy to answer the query, and executing it to deliver the result to the client sql/sql_select.cc Table Manager The Table Manager is responsible for creating, reading, and modifying the table definition files (.frm extension), maintaining a cache of table descriptors called table cache, and managing table-level locks sql/sql_base.cc sql/table.cc sql/unireg.cc sql/lock.cc Table Modification Module This collection of modules is responsible for operations such as creating, deleting, renaming, dropping, updating, or inserting into a table sql/sql_update.ccc sql/sql_insert.cc sql/sql_table.cc sql/sql_delete.cc Table Maintenance Module The Table Maintenance Module is responsible for table maintenance operations such as check, repair, back up, restore, optimize (defragment), and analyze (update key distribution statistics) sql/sql_table.cc Status Report Module The Status Reporting Module is responsible for answering queries about server configuration settings, performance tracking variables, table structure information, replication progress, condition of the table cache, and other things sql/sql_show.cc sql/slave.cc sql/sql_repl.cc Abstracted Storage Engine Interface(Table Handler) This module is actually an abstract class named handler and a structure called a handlerton sql/handler.h sql/handler.cc Storage Engine Implementations(MyISAM, InnoDB, MEMORY, Berkeley DB) Each of the storage engines provides a standard interface for its operations by extending the handler class mentioned earlier sql/ha_myisam.h sql/ha_myisam.cc sql/ha_innodb.h sql/ha_innodb.cc sql/ha_heap.h sql/ha_heap.cc sql/ha_ndbcluster.h sql/ha_ndbcluster.cc Logging Module The Logging Module is responsible for maintaining higher-level (logical) logs sql/log.cc sql/log_event.cc Replication Master Module The Replication Master Module is responsible for the replication functionality on the master sql/sql_repl.cc Replication Slave Module The Replication Slave Module is responsible for the replication functionality of the slave sql/slave.cc Client/Server Protocol API The MySQL client/server communication protocol sits on top of the operating system protocol (TCP/IP or local socket) in the protocol stack sql/protocol.cc sql/net_serv.cc Low-Level Network I/O API The Low-Level Network I/O API provides an abstraction for the low-level network I/O and SSL sessions vio/ direcotry Core API The Core API is the Swiss Army knife of MySQL It provides functionality for portable file I/O, memory management, string manipulation, filesystem navigation, formatted printing, a rich collection of data structures and algorithms, and a number of other things mysys/ directory strings/ directory February 17 LAMP 安装一: reiser4文件系统及内核升级至2.6.28linux-2.6.28.tar.gz
http://www.kernel.org/pub/linux/kernel/v2.6/ reiser4-for-2.6.28.patch.gz
http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/ reiser4progs-1.0.7.tar.gz
http://www.kernel.org/pub/linux/utils/fs/reiser4/ [root@popgo-websvr ~]# uname -a
Linux popgo-websvr 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux [root@popgo-websvr ~]# tar -jxvf /mnt/hgfs/share/RHEL4/libaal-1.0.5.tar.bz2 -C /usr/src [root@popgo-websvr ~]# cd /usr/src/libaal-1.0.5/ [root@popgo-websvr libaal-1.0.5]# ./configure --prefix=/usr [root@popgo-websvr libaal-1.0.5]# make [root@popgo-websvr libaal-1.0.5]# make install [root@popgo-websvr libaal-1.0.5]# /sbin/ldconfig [root@popgo-websvr libaal-1.0.5]# tar -zxvf /mnt/hgfs/share/RHEL4/reiser4progs-1.0.7.tar.gz -C /usr/src/
[root@popgo-websvr libaal-1.0.5]# cd /usr/src/reiser4progs-1.0.7/ [root@popgo-websvr reiser4progs-1.0.7]# ./configure --prefix=/usr [root@popgo-websvr reiser4progs-1.0.7]# make [root@popgo-websvr reiser4progs-1.0.7]# make install [root@popgo-websvr reiser4progs-1.0.7]# /sbin/ldconfig [root@popgo-websvr reiser4progs-1.0.7]# tar -zxvf /mnt/hgfs/share/RHEL4/linux-2.6.28.tar.gz -C /usr/src/
[root@popgo-websvr reiser4progs-1.0.7]# ln -s /usr/src/linux-2.6.28/ /usr/src/linux [root@popgo-websvr reiser4progs-1.0.7]# cd /usr/src/linux [root@popgo-websvr linux]# pwd /usr/src/linux [root@popgo-websvr linux]# gzip -cd /mnt/hgfs/share/RHEL4/reiser4-for-2.6.28.patch.gz | patch -p1 /usr/src/linux/fs/reiser4 [root@popgo-websvr linux]# make mrproper
[root@popgo-websvr linux]# make menuconfig [root@popgo-websvr linux]# make dep scripts/kconfig/conf -s arch/x86/Kconfig *** Warning: make dep is unnecessary now. [root@popgo-websvr linux]# mkdir /lib/modules/2.6.28 [root@popgo-websvr linux]# make clean [root@popgo-websvr linux]# make all [root@popgo-websvr linux]# make modules_install [root@popgo-websvr linux]# make install sh /usr/src/linux-2.6.28/arch/x86/boot/install.sh 2.6.28 arch/x86/boot/bzImage System.map "/boot" WARNING: No module mptscsi found for kernel 2.6.28, continuing anyway [root@popgo-websvr ~]# uname -a Linux popgo-websvr 2.6.28 #1 SMP Mon Feb 16 23:37:15 CST 2009 i686 i686 i386 GNU/Linux [root@popgo-websvr ~]# Vmware Bug:
[root@popgo-websvr ~]# vmware-config-tools.pl
Stopping VMware Tools services in the virtual machine:
Guest operating system daemon: [ OK ] Blocking file system: [ OK ] Unmounting HGFS shares: [ OK ] Guest filesystem driver: [ OK ] Guest memory manager: [ OK ] Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Guest vmxnet fast network device: [ OK ] Trying to find a suitable vmmemctl module for your running kernel. None of the pre-built vmmemctl modules for VMware Tools is suitable for your
running kernel. Do you want this program to try to build the vmmemctl module for your system (you need to have a C compiler installed on your system)? [yes] Using compiler "/usr/bin/gcc". Use environment variable CC to override.
What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.28/build/include] Extracting the sources of the vmmemctl module.
Building the vmmemctl module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config2/vmmemctl-only' make -C /lib/modules/2.6.28/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modulesmake[1]: Entering directory `/usr/src/linux-2.6.28' CC [M] /tmp/vmware-config2/vmmemctl-only/os.o In file included from /tmp/vmware-config2/vmmemctl-only/os.c:40: /tmp/vmware-config2/vmmemctl-only/compat_wait.h:37:5: warning: "VMW_HAVE_EPOLL" is not defined /tmp/vmware-config2/vmmemctl-only/compat_wait.h:43:5: warning: "VMW_HAVE_EPOLL" is not defined In file included from /tmp/vmware-config2/vmmemctl-only/os.c:40: /tmp/vmware-config2/vmmemctl-only/compat_wait.h:60: error: conflicting types for 'poll_initwait' include/linux/poll.h:65: error: previous declaration of 'poll_initwait' was here/tmp/vmware-config2/vmmemctl-only/compat_wait.h:60: error: conflicting types for 'poll_initwait' include/linux/poll.h:65: error: previous declaration of 'poll_initwait' was here/tmp/vmware-config2/vmmemctl-only/os.c: In function `os_init': /tmp/vmware-config2/vmmemctl-only/os.c:567: error: structure has no member named `get_info' make[2]: *** [/tmp/vmware-config2/vmmemctl-only/os.o] Error 1 make[1]: *** [_module_/tmp/vmware-config2/vmmemctl-only] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.28' make: *** [vmmemctl.ko] Error 2 make: Leaving directory `/tmp/vmware-config2/vmmemctl-only' Unable to build the vmmemctl module. The memory manager driver (vmmemctl module) is used by VMware host software to
efficiently reclaim memory from a virtual machine. If the driver is not available, VMware host software may instead need to swap guest memory to disk, which may reduce performance. The rest of the software provided by VMware Tools is designed to work independently of this feature. If you want the memory management feature, you can install the driver by running vmware-config-tools.pl again after making sure that gcc, binutils, make and the kernel sources for your running kernel are installed on your machine. These packages are available on your distribution's installation CD. [ Press Enter key to continue ] Trying to find a suitable vmhgfs module for your running kernel.
None of the pre-built vmhgfs modules for VMware Tools is suitable for your
running kernel. Do you want this program to try to build the vmhgfs module for your system (you need to have a C compiler installed on your system)? [yes] Extracting the sources of the vmhgfs module.
Building the vmhgfs module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config3/vmhgfs-only' make -C /lib/modules/2.6.28/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modulesmake[1]: Entering directory `/usr/src/linux-2.6.28' CC [M] /tmp/vmware-config3/vmhgfs-only/backdoor.o CC [M] /tmp/vmware-config3/vmhgfs-only/backdoorGcc32.o CC [M] /tmp/vmware-config3/vmhgfs-only/bdhandler.o /tmp/vmware-config3/vmhgfs-only/bdhandler.c:15:27: asm/semaphore.h: No such file or directory In file included from /tmp/vmware-config3/vmhgfs-only/dbllnklst.h:14, from /tmp/vmware-config3/vmhgfs-only/vmrpc.h:17, from /tmp/vmware-config3/vmhgfs-only/hgfsBd.h:14, from /tmp/vmware-config3/vmhgfs-only/bdhandler.c:29: /tmp/vmware-config3/vmhgfs-only/vm_basic_types.h:170: error: conflicting types for 'uintptr_t' include/linux/types.h:40: error: previous declaration of 'uintptr_t' was here In file included from /tmp/vmware-config3/vmhgfs-only/request.h:21, from /tmp/vmware-config3/vmhgfs-only/bdhandler.c:34: /tmp/vmware-config3/vmhgfs-only/compat_wait.h:37:5: warning: "VMW_HAVE_EPOLL" is not defined /tmp/vmware-config3/vmhgfs-only/compat_wait.h:43:5: warning: "VMW_HAVE_EPOLL" is not defined In file included from /tmp/vmware-config3/vmhgfs-only/request.h:21, from /tmp/vmware-config3/vmhgfs-only/bdhandler.c:34: /tmp/vmware-config3/vmhgfs-only/compat_wait.h:60: error: conflicting types for 'poll_initwait' include/linux/poll.h:65: error: previous declaration of 'poll_initwait' was here/tmp/vmware-config3/vmhgfs-only/compat_wait.h:60: error: conflicting types for 'poll_initwait' include/linux/poll.h:65: error: previous declaration of 'poll_initwait' was heremake[2]: *** [/tmp/vmware-config3/vmhgfs-only/bdhandler.o] Error 1 make[1]: *** [_module_/tmp/vmware-config3/vmhgfs-only] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.28' make: *** [vmhgfs.ko] Error 2 make: Leaving directory `/tmp/vmware-config3/vmhgfs-only' Unable to build the vmhgfs module. The filesystem driver (vmhgfs module) is used only for the shared folder
feature. The rest of the software provided by VMware Tools is designed to work independently of this feature. If you wish to have the shared folders feature, you can install the driver by running vmware-config-tools.pl again after making sure that gcc, binutils, make and the kernel sources for your running kernel are installed on your machine. These packages are available on your distribution's installation CD. [ Press Enter key to continue ] pcnet32 34728 0
Unloading pcnet32 module Trying to find a suitable vmxnet module for your running kernel.
None of the pre-built vmxnet modules for VMware Tools is suitable for your
running kernel. Do you want this program to try to build the vmxnet module for your system (you need to have a C compiler installed on your system)? [yes] Extracting the sources of the vmxnet module.
Building the vmxnet module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config4/vmxnet-only' make -C /lib/modules/2.6.28/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modulesmake[1]: Entering directory `/usr/src/linux-2.6.28' CC [M] /tmp/vmware-config4/vmxnet-only/vmxnet.o In file included from /tmp/vmware-config4/vmxnet-only/vmxnet.c:36: /tmp/vmware-config4/vmxnet-only/vm_basic_types.h:170: error: conflicting types for 'uintptr_t' include/linux/types.h:40: error: previous declaration of 'uintptr_t' was here /tmp/vmware-config4/vmxnet-only/vmxnet.c: In function `vmxnet_probe_device': /tmp/vmware-config4/vmxnet-only/vmxnet.c:685: error: implicit declaration of function `SET_MODULE_OWNER' /tmp/vmware-config4/vmxnet-only/vmxnet.c: In function `vmxnet_tx': /tmp/vmware-config4/vmxnet-only/vmxnet.c:1220: error: structure has no member named `nh' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1222: error: structure has no member named `nh' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1223: error: structure has no member named `h' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1226: error: structure has no member named `nh' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1367: error: structure has no member named `h' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1367: error: structure has no member named `h' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1367: error: structure has no member named `h' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1367: error: structure has no member named `h' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1367: error: structure has no member named `h' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1367: error: structure has no member named `h' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1368: error: structure has no member named `nh' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1368: error: structure has no member named `nh' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1368: error: structure has no member named `nh' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1368: error: structure has no member named `nh' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1445: error: structure has no member named `h' /tmp/vmware-config4/vmxnet-only/vmxnet.c:1446: error: structure has no member named `h' make[2]: *** [/tmp/vmware-config4/vmxnet-only/vmxnet.o] Error 1 make[1]: *** [_module_/tmp/vmware-config4/vmxnet-only] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.28' make: *** [vmxnet.ko] Error 2 make: Leaving directory `/tmp/vmware-config4/vmxnet-only' Unable to build the vmxnet module. The fast network device driver (vmxnet module) is used only for our fast
networking interface. The rest of the software provided by VMware Tools is designed to work independently of this feature. If you wish to have the fast network driver enabled, you can install the driver by running vmware-config-tools.pl again after making sure that gcc, binutils, make and the kernel sources for your running kernel are installed on your machine. These packages are available on your distribution's installation CD. [ Press Enter key to continue ] Trying to find a suitable vmblock module for your running kernel.
None of the pre-built vmblock modules for VMware Tools is suitable for your
running kernel. Do you want this program to try to build the vmblock module for your system (you need to have a C compiler installed on your system)? [yes] Extracting the sources of the vmblock module.
Building the vmblock module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config5/vmblock-only' make -C /lib/modules/2.6.28/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modulesmake[1]: Entering directory `/usr/src/linux-2.6.28' CC [M] /tmp/vmware-config5/vmblock-only/linux/block.o In file included from /tmp/vmware-config5/vmblock-only/linux/os.h:21, from /tmp/vmware-config5/vmblock-only/linux/block.c:12: /tmp/vmware-config5/vmblock-only/./include/compat_wait.h:37:5: warning: "VMW_HAVE_EPOLL" is not defined /tmp/vmware-config5/vmblock-only/./include/compat_wait.h:43:5: warning: "VMW_HAVE_EPOLL" is not defined In file included from /tmp/vmware-config5/vmblock-only/linux/os.h:21, from /tmp/vmware-config5/vmblock-only/linux/block.c:12: /tmp/vmware-config5/vmblock-only/./include/compat_wait.h:60: error: conflicting types for 'poll_initwait' include/linux/poll.h:65: error: previous declaration of 'poll_initwait' was here/tmp/vmware-config5/vmblock-only/./include/compat_wait.h:60: error: conflicting types for 'poll_initwait' include/linux/poll.h:65: error: previous declaration of 'poll_initwait' was hereIn file included from /tmp/vmware-config5/vmblock-only/linux/vmblockInt.h:26, from /tmp/vmware-config5/vmblock-only/linux/block.c:15: /tmp/vmware-config5/vmblock-only/./include/vm_basic_types.h:170: error: conflicting types for 'uintptr_t' include/linux/types.h:40: error: previous declaration of 'uintptr_t' was here /tmp/vmware-config5/vmblock-only/linux/block.c: In function `BlockInit': /tmp/vmware-config5/vmblock-only/linux/block.c:66: error: too many arguments to function `kmem_cache_create' make[2]: *** [/tmp/vmware-config5/vmblock-only/linux/block.o] Error 1 make[1]: *** [_module_/tmp/vmware-config5/vmblock-only] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.28' make: *** [vmblock.ko] Error 2 make: Leaving directory `/tmp/vmware-config5/vmblock-only' Unable to build the vmblock module. The vmblock module enables dragging or copying files from within a host and
dropping or pasting them onto your guest (host to guest drag and drop and file copy/paste). The rest of the software provided by VMware Tools is designed to work independently of this feature (including guest to host drag and drop and file copy/paste). If you would like the host to guest drag and drop and file copy/paste features,
you can install the driver by running vmware-config-tools.pl again after making sure that gcc, binutils, make and the kernel sources for your running kernel are installed on your machine. These packages are available on your distribution's installation CD. [ Press Enter key to continue ] [EXPERIMENTAL] The Virtual Machine Communication Interface (VMCI) service
provides a new communication capability with the Host, primarily for development at the moment. Would you like to enable this feature? [no] Detected X.org version 6.8.
Do you want to change the display size that X starts with? (yes/no) [no]
X Window System Version 6.8.2 Release Date: 9 February 2005 X Protocol Version 11, Revision 0, Release 6.8.2 Build Operating System: Linux 2.6.9-42.0.8.ELsmp i686 [ELF] Current Operating System: Linux popgo-websvr 2.6.28 #1 SMP Mon Feb 16 23:37:15 CST 2009 i686 Build Date: 19 April 2007 Build Host: hs20-bc1-6.build.redhat.com Before reporting problems, check http://wiki.X.Org
to make sure that you have the latest version. Module Loader present OS Kernel: Linux version 2.6.28 (root@popgo-websvr) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-8)) #1 SMP Mon Feb 16 23:37:15 CST 2009 Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (++) Log file: "/tmp/vmware-config6/XF86ConfigLog.4633", Time: Tue Feb 17 00:26:31 2009 (++) Using config file: "/tmp/vmware-config6/XF86Config.4633" X is running fine with the new config file.
Starting VMware Tools services in the virtual machine:
Switching to guest configuration: [ OK ] DMA setup: [ OK ] Guest operating system daemon: [ OK ] The configuration of VMware Tools 6.0.0 build-45731 for Linux for this running
kernel completed successfully. You must restart your X session before any mouse or graphics changes take
effect. You can now run VMware Tools by invoking the following command:
"/usr/bin/vmware-toolbox" during an X server session. To make use of the virtual printer, you will need to restart the CUPS service
If you wish to configure any experimental features, please run the following
command: "vmware-config-tools.pl --experimental". Enjoy,
--the VMware team
[root@popgo-websvr ~]# |
|
||||
|
|