Intel C2D COREs not used equally in FreeBSD 7.0-CURRENT i386
Abdullah Ibn Hamad Al-Marri
almarrie at gmail.com
Mon Jun 4 17:42:13 UTC 2007
Hello,
I have IRC services and it stored the dbs as MyISAM in MySQL 5.0.41
which runs on dedicated C2D 6600 with 2 GB of ram.
FreeBSD 7.0-CURRENT #4: Sun Jun 3 22:56:52 GMT 2007 i386
Here is my kernel config
cpu I686_CPU
ident SERVICES
options SCHED_4BSD # 4BSD scheduler
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
options UFS_DIRHASH # Improve performance on big directories
options UFS_GJOURNAL # Enable gjournal-based UFS journaling
options GEOM_PART_GPT # GUID Partition Tables.
options GEOM_LABEL # Provides labelization
options COMPAT_43TTY # BSD 4.3 TTY compat [KEEP THIS!]
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
options COMPAT_FREEBSD6 # Compatible with FreeBSD6
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
options KTRACE # ktrace(1) support
options SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time
extensions
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options ADAPTIVE_GIANT # Giant mutex is adaptive.
options STOP_NMI # Stop CPUS using NMI instead of IPI
options SC_DISABLE_REBOOT # Disable reboot key sequence
# To make an SMP kernel, the next two lines are needed
options SMP # Symmetric MultiProcessor Kernel
device apic # I/O APIC
device acpi # Compile acpi in statically
# Bus support.
device eisa
device pci
# Bus support.
device eisa
device pci
# ATA and ATAPI devices
device ata
device atadisk # ATA disk drives
options ATA_STATIC_ID # Static device numbering
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device vga # VGA video card driver
# syscons is the default console driver, resembling an SCO console
device sc
# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus support
device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
# Pseudo devices.
device loop # Network loopback
device random # Entropy device
device ether # Ethernet support
device pty # Pseudo-ttys (telnet etc)
device snp # Snoop Device
# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device bpf # Berkeley packet filter
Here is the sysctl of kern
kern.maxvnodes: 100000
kern.maxproc: 6164
kern.maxfiles: 32768
kern.argmax: 262144
kern.clockrate: { hz = 1000, tick = 1000, profhz = 666, stathz = 133 }
kern.posix1version: 200112
kern.ngroups: 16
kern.job_control: 1
kern.saved_ids: 0
kern.bootfile: /boot/kernel/kernel
kern.maxfilesperproc: 11095
kern.maxprocperuid: 5547
kern.ipc.maxsockbuf: 262144
kern.ipc.sockbuf_waste_factor: 8
kern.ipc.somaxconn: 1024
kern.ipc.max_linkhdr: 16
kern.ipc.max_protohdr: 40
kern.ipc.max_hdr: 56
kern.ipc.max_datalen: 148
kern.ipc.nmbjumbo16: 0
kern.ipc.nmbjumbo9: 0
kern.ipc.nmbjumbop: 0
kern.ipc.nmbclusters: 25600
kern.ipc.piperesizeallowed: 1
kern.ipc.piperesizefail: 0
kern.ipc.pipeallocfail: 0
kern.ipc.pipefragretry: 0
kern.ipc.pipekva: 16384
kern.ipc.maxpipekva: 16777216
kern.ipc.msgseg: 2048
kern.ipc.msgssz: 8
kern.ipc.msgtql: 40
kern.ipc.msgmnb: 2048
kern.ipc.msgmni: 40
kern.ipc.msgmax: 16384
kern.ipc.semaem: 16384
kern.ipc.semvmx: 32767
kern.ipc.semusz: 92
kern.ipc.semume: 10
kern.ipc.semopm: 100
kern.ipc.semmsl: 60
kern.ipc.semmnu: 30
kern.ipc.semmns: 60
kern.ipc.semmni: 10
kern.ipc.semmap: 30
kern.ipc.shm_allow_removed: 0
kern.ipc.shm_use_phys: 0
kern.ipc.shmall: 8192
kern.ipc.shmseg: 128
kern.ipc.shmmni: 192
kern.ipc.shmmin: 1
kern.ipc.shmmax: 33554432
kern.ipc.maxsockets: 25600
kern.ipc.numopensockets: 26
kern.ipc.nsfbufsused: 0
kern.ipc.nsfbufspeak: 5
kern.ipc.nsfbufs: 6656
kern.dummy: 0
kern.ps_strings: 3217031152
kern.usrstack: 3217031168
kern.logsigexit: 1
kern.iov_max: 1024
kern.hostuuid: 802D1F15-461D-D711-A11F-C7ABFF8EBB17
kern.arandom: 653627002
kern.disks: ad2 ad0
kern.geom.collectstats: 1
kern.geom.debugflags: 0
kern.geom.label.debug: 0
kern.elf32.fallback_brand: -1
kern.init_shutdown_timeout: 120
kern.init_path:
/sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall
kern.acct_suspended: 0
kern.acct_configured: 0
kern.acct_chkfreq: 15
kern.acct_resume: 4
kern.acct_suspend: 2
kern.cp_time: 5327530 0 60047 15732 9213550
kern.openfiles: 121
kern.kq_calloutmax: 4096
kern.ps_arg_cache_limit: 256
kern.stackprot: 7
kern.randompid: 0
kern.lastpid: 3158
kern.ktrace.request_pool: 100
kern.ktrace.genio_size: 4096
kern.module_path: /boot/kernel;/boot/modules
kern.malloc_count: 134
kern.fallback_elf_brand: -1
kern.maxusers: 384
kern.ident: SERVICES
kern.kstack_pages: 2
kern.shutdown.kproc_shutdown_wait: 60
kern.shutdown.poweroff_delay: 5000
kern.sync_on_panic: 0
kern.corefile: %N.core
kern.nodump_coredump: 0
kern.coredump: 1
kern.sugid_coredump: 0
kern.sigqueue.alloc_fail: 0
kern.sigqueue.overflow: 0
kern.sigqueue.preallocate: 1024
kern.sigqueue.max_pending_per_proc: 128
kern.forcesigexit: 1
kern.fscale: 2048
kern.timecounter.tick: 1
kern.timecounter.choice: TSC(-100) ACPI-fast(1000) i8254(0) dummy(-1000000)
kern.timecounter.hardware: ACPI-fast
kern.timecounter.nsetclock: 3
kern.timecounter.ngetmicrotime: 1966
kern.timecounter.ngetnanotime: 1
kern.timecounter.ngetbintime: 0
kern.timecounter.ngetmicrouptime: 4172907
kern.timecounter.ngetnanouptime: 2512
kern.timecounter.ngetbinuptime: 401300
kern.timecounter.nmicrotime: 2986925
kern.timecounter.nnanotime: 423
kern.timecounter.nbintime: 2987361
kern.timecounter.nmicrouptime: 3182
kern.timecounter.nnanouptime: 8
kern.timecounter.nbinuptime: 3825003
kern.timecounter.stepwarnings: 0
kern.timecounter.tc.i8254.mask: 65535
kern.timecounter.tc.i8254.counter: 27888
kern.timecounter.tc.i8254.frequency: 1193182
kern.timecounter.tc.i8254.quality: 0
kern.timecounter.tc.ACPI-fast.mask: 16777215
kern.timecounter.tc.ACPI-fast.counter: 2515696
kern.timecounter.tc.ACPI-fast.frequency: 3579545
kern.timecounter.tc.ACPI-fast.quality: 1000
kern.timecounter.tc.TSC.mask: 4294967295
kern.timecounter.tc.TSC.counter: 4040078241
kern.timecounter.tc.TSC.frequency: 2394010377
kern.timecounter.tc.TSC.quality: -100
kern.timecounter.smp_tsc: 0
kern.threads.virtual_cpu: 2
kern.threads.max_threads_hits: 0
kern.threads.max_threads_per_proc: 1500
kern.threads.umtx_max_spins: 3000
kern.threads.umtx_dflt_spins: 0
kern.ccpu: 1948
kern.sched.runq_fuzz: 1
kern.sched.preemption: 1
kern.sched.ipiwakeup.htt2: 0
kern.sched.ipiwakeup.onecpu: 0
kern.sched.ipiwakeup.useloop: 0
kern.sched.ipiwakeup.usemask: 1
kern.sched.ipiwakeup.delivered: 1796942
kern.sched.ipiwakeup.requested: 1796941
kern.sched.ipiwakeup.enabled: 1
kern.sched.quantum: 100000
kern.sched.name: 4BSD
kern.devstat.version: 6
kern.devstat.generation: 177
kern.devstat.numdevs: 2
kern.kobj_methodcount: 105
kern.log_wakeups_per_second: 5
kern.msgbuf_clear: 0
kern.msgbuf:
kern.always_console_output: 0
kern.log_console_output: 1
kern.smp.forward_roundrobin_enabled: 1
kern.smp.forward_signal_enabled: 1
kern.smp.cpus: 2
kern.smp.disabled: 0
kern.smp.active: 1
kern.smp.maxcpus: 16
kern.nselcoll: 0
kern.tty_nout: 198594
kern.tty_nin: 1711
kern.drainwait: 300
kern.constty_wakeups_per_second: 5
kern.consmsgbuf_size: 8192
kern.consmute: 0
kern.console: consolectl,/consolectl,
kern.pts.max: 1000
kern.pts.enable: 0
kern.minvnodes: 25000
kern.metadelay: 28
kern.dirdelay: 29
kern.filedelay: 30
kern.chroot_allow_open_directories: 1
kern.random.yarrow.gengateinterval: 10
kern.random.yarrow.bins: 10
kern.random.yarrow.fastthresh: 192
kern.random.yarrow.slowthresh: 256
kern.random.yarrow.slowoverthresh: 2
kern.random.sys.seeded: 1
kern.random.sys.harvest.ethernet: 1
kern.random.sys.harvest.point_to_point: 1
kern.random.sys.harvest.interrupt: 1
kern.random.sys.harvest.swi: 0
I see both daemons use CPU0 most of the time, and the other one is idling.
last pid: 3138; load averages: 0.70, 0.56, 0.70
up 0+15:20:36 17:29:46
34 processes: 2 running, 32 sleeping
CPU states: 48.9% user, 0.0% nice, 1.7% system, 0.0% interrupt, 49.4% idle
Mem: 711M Active, 420M Inact, 183M Wired, 32K Cache, 112M Buf, 685M Free
Swap: 2048M Total, 2048M Free
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
3135 services 3 96 0 29716K 27432K select 0 0:27 60.75% services
3106 mysql 14 96 0 637M 628M ucond 0 3:42 33.35% mysqld
last pid: 3142; load averages: 0.83, 0.61, 0.71
up 0+15:21:13 17:30:23
34 processes: 2 running, 32 sleeping
CPU states: 47.2% user, 0.0% nice, 4.9% system, 0.2% interrupt, 47.7% idle
Mem: 711M Active, 420M Inact, 183M Wired, 32K Cache, 112M Buf, 684M Free
Swap: 2048M Total, 2048M Free
PID USERNAME THR PRI NICE SIZE RES STATE C TIME CPU COMMAND
3135 services 3 96 0 29716K 27668K select 0 0:55 72.61% services
3106 mysql 14 96 0 637M 628M ucond 0 3:52 24.66% mysqld
Both of them using libthr as well.
Now my question is, why they don't use 100% of both COREs while
syncing to 4k users?
Here is my my.cnf
[mysqld]
thread_concurrency=100
max_connections=5000
wait_timeout=300
max_allowed_packet=32M
key_buffer=512M
read_buffer_size=3M
sort_buffer_size=9M
join_buffer_size=3M
myisam_sort_buffer_size=100M
read_rnd_buffer_size=5M
query_cache_limit=1M
query_cache_size=64M
query_cache_type=1
thread_cache_size=256
table_cache=2048
max_tmp_tables=1024
tmp_table_size=512M
safe-show-database
skip-networking
socket=/tmp/mysql.sock
[client]
socket=/tmp/mysql.sock
The total database size is less than 60 MBs.
mysqladmin status
Uptime: 878 Threads: 2 Questions: 225769 Slow queries: 0 Opens: 31
Flush tables: 1 Open tables: 25 Queries per second avg: 257.140
--
Regards,
-Abdullah Ibn Hamad Al-Marri
Arab Portal
http://www.WeArab.Net/
More information about the freebsd-current
mailing list