Fórum Root.cz
Hlavní témata => Distribuce => Téma založeno: Mouse 29. 07. 2010, 11:30:28
-
Dobrý den,
už nechápu kde může být problém , ale hned při startu PC se mi obsadí neuvěřitelných 12GB ram a PC se citelně zpomalí. Na PC běží server pro hru World of Warcraft a MySQL.
I při vyplém serveru je používáno 12GB ram. Sice je v CACHE asi 1GB , ale když zapnu server , tato velikost prostě nestačí. Další problém je takový, že když dám "top" , ukazují se hrozně vysoké hodnoty u Cpu a to hodnoty s označením "%wa" , které se pohybují okolo 100%.
předem děkuji za každou pomoc
-
Jak jsi zjistil, že je ta paměť plná? Linux využívá volnou paměť jako cache, takže se může zdát, že je 12 GB zaplněno, ale z toho 10 GB bude cache, která se ale uhne v případě, že je ta paměť třeba.
Co se týče I/O waitu, zřejmě to znamená, že ty procesy čekají na vyřízení žádosti z disku nebo třeba ze sítě. Není tam velký diskový traffic?
-
Nechápu ten velký diskový traffic ...
zde ukažu nejake screeny
http://altron-wow.eu/nemazat/fisrt.png
http://altron-wow.eu/nemazat/two.png
už si nevím rady ... zdá se ,že se ten storj zachvilku zastaví :(
-
Ano, podle toho prvního obrázku je to jasné: Máte 12 GB paměti, z toho 10 GB používá cache :). Přesně jak jsem psal. Ten I/O wait je způsoben intenzivní prací s diskem. Procesor vytížený není, ale procesy čekají na odpověď od disků.
-
takže je nějaký problém s diskama ? .. jak by se to dalo řešit ?
-
Nenazýval bych to 'problém'. Prostě ty disky mají omezený výkon a nejsou schopny okamžitě vydávat procesům data. Přečtení a poslání těch dat nějakou dobu trvá a po tu dobu proces čeká. Čím víc procesů data požaduje, tím víc se čeká. Pokud ten server výkonnostně nestačí (což jsi ale nenapsal), pak je třeba pořídit nějaké výkonné diskové pole nebo třeba SSD disky, které zvládnou reagovat výrazně rychleji. Ale pokud ten server normálně jede, stíhá a plní svou úlohu, pak je to v pořádku a není třeba nic dělat.
-
Problém je takový , že ten server už rok jede bez problému a všechno stíhal uplně bez problému , až ted poslední dobou pomalu stojí. Ty obrázky jsou pořízené v době , kdy tam nejni puštěna ta nejsložitější a nejnáročnější aplikace co tam běží.Teprve před dvěma dny to začalo zlobit a ta aplikace se nyní nedá pomalu ani pustit :(
-
Zkusil bych jeste vypnout SQL server, jestli pak server neozije. Zere pres petinu pameti a je mozne, ze vytezuje i disky. Pokud tomu tak je, tak zkouknout co v te databazi je. Jestli ty data jsou vhodne ulozena a ev. rozdelit zatez, restrukturalizovat DB.
-
Ano, podle toho prvního obrázku je to jasné: Máte 12 GB paměti, z toho 10 GB používá cache :). Přesně jak jsem psal. Ten I/O wait je způsoben intenzivní prací s diskem. Procesor vytížený není, ale procesy čekají na odpověď od disků.
Z toho co jsem ja videl na screenshotech tak cache zabírá pouze 1.8GB
Zda se ze zbytek pameti pozira myslq.
-
Problém je ten , že nemohu vypnout mysql , protože ta aplikace sním spolupracuje
-
Z toho co jsem ja videl na screenshotech tak cache zabírá pouze 1.8GB
Zda se ze zbytek pameti pozira myslq.
Koukáme oba na stejný obrázek s číslem 10331940 ve sloupečku used a řádku buffers/cache?
-
Aha díval jsem se na druhý obrázek výpisu top a tam je
258308k buffers a 1662756 cached
tak co je tedy správná hodnota?
každopádně bych řekl že problém je v mysql možná by pomohlo poladit konfiguraci my.cnf
-
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
#log = /var/log/mysql/mysql.log
#
# Error logging goes to syslog. This is a Debian improvement :)
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * BerkeleyDB
#
# Using BerkeleyDB is now discouraged as its support will cease in 5.1.12.
skip-bdb
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
# You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
#skip-innodb
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
innodb_buffer_pool_size = 2G
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
#
# * NDB Cluster
#
# See /usr/share/doc/mysql-server-*/README.Debian for more information.
#
# The following configuration is read by the NDB Data Nodes (ndbd processes)
# not from the NDB Management Nodes (ndb_mgmd processes).
#
# [MYSQL_CLUSTER]
# ndb-connectstring=127.0.0.1
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
-
Co říká:
vmstat
vmstat -s
ps axu -T
případně bych skusil ještě další volby vmstat-u. Pokud by se jednalo o disky, tak bych zkusil iotop, coz je jednoduchý I/O monitor (i v tomhle případě by mohl vmstat pomoci)
-
BTW, co rika df -h?
-
Z toho co jsem ja videl na screenshotech tak cache zabírá pouze 1.8GB
Zda se ze zbytek pameti pozira myslq.
Koukáme oba na stejný obrázek s číslem 10331940 ve sloupečku used a řádku buffers/cache?
A nevyjadruje ta hodnota nahodou obsazenou pamet bez buffers a cache?
-
jsou ještě nějaké konfiguranční soubory v adresáři /etc/mysql/conf.d/ ?
Pokud ano prosím o výpis.
-
takže ... zde jsou všechny ty udaje ... už si dál nevím rady .. pomalu se na ten server nedá přihlásit pomocí ssh :(
toto jsou udaje bez puštěné te nejsložitější aplikace co tam má běžet
wow:~# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 114316 686332 940728 0 0 138 266 0 134 1 0 99 0
wow:~# vmstat -s
12301796 K total memory
12098004 K used memory
7088408 K active memory
3522324 K inactive memory
203792 K free memory
686852 K buffer memory
865784 K swap cache
0 K total swap
0 K used swap
0 K free swap
134948 non-nice user cpu ticks
4335 nice user cpu ticks
30708 system cpu ticks
15951986 idle cpu ticks
4807 IO-wait cpu ticks
0 IRQ cpu ticks
0 softirq cpu ticks
0 stolen cpu ticks
666516256 pages paged in
4294967295 pages paged out
0 pages swapped in
0 pages swapped out
0 interrupts
1653922255 CPU context switches
1269784299 boot time
29736752 forks
wow:~# ps axu -T
USER PID SPID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 1 0.0 0.0 1988 688 ? Ss Jul29 0:00 init [2]
root 282 282 0.0 0.0 1700 632 ? Ss Jul29 0:00 /sbin/syslogd
root 289 289 0.0 0.0 5300 1040 ? Ss Jul29 0:00 /usr/sbin/sshd
root 514 514 0.0 0.0 2044 684 ? Ss Jul29 0:00 /usr/sbin/cron
root 7051 7051 0.0 0.0 2484 1144 ? S Jul29 0:00 /bin/sh /usr/bin/mysqld_safe
mysql 7088 7088 0.0 18.0 2393664 2218000 ? Sl Jul29 0:03 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 7090 0.0 18.0 2393664 2218000 ? Sl Jul29 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 7091 0.0 18.0 2393664 2218000 ? Sl Jul29 0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 7092 0.0 18.0 2393664 2218000 ? Sl Jul29 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 7093 0.0 18.0 2393664 2218000 ? Sl Jul29 0:19 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 7146 0.0 18.0 2393664 2218000 ? Sl Jul29 0:46 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 7147 0.0 18.0 2393664 2218000 ? Sl Jul29 0:32 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 7148 0.0 18.0 2393664 2218000 ? Sl Jul29 0:04 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 7149 0.0 18.0 2393664 2218000 ? Sl Jul29 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 7152 0.0 18.0 2393664 2218000 ? Sl Jul29 0:41 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 7225 0.0 18.0 2393664 2218000 ? Sl Jul29 0:49 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 8701 0.0 18.0 2393664 2218000 ? Sl Jul29 0:02 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 9610 0.0 18.0 2393664 2218000 ? Sl Jul29 0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 9669 0.0 18.0 2393664 2218000 ? Sl Jul29 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 9733 0.0 18.0 2393664 2218000 ? Sl Jul29 0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 9735 0.0 18.0 2393664 2218000 ? Sl Jul29 0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 24557 0.0 18.0 2393664 2218000 ? Sl 10:23 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 25248 0.0 18.0 2393664 2218000 ? Sl 11:09 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
mysql 7088 25249 0.0 18.0 2393664 2218000 ? Sl 11:09 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysq
root 7089 7089 0.0 0.0 1636 536 ? S Jul29 0:00 logger -p daemon.err -t mysqld_safe -i -t mysqld
root 9634 9634 0.0 0.0 2856 1096 ? Ss Jul29 0:00 SCREEN -dmS realm
root 9635 9635 0.0 0.0 2836 1556 pts/3 Ss+ Jul29 0:00 /bin/bash
root 25250 25250 0.0 0.0 8044 2672 ? Ss 11:09 0:00 sshd: root@notty
root 25267 25267 0.0 0.0 4724 1448 ? Ss 11:10 0:00 /usr/lib/openssh/sftp-server
root 25268 25268 0.0 0.0 8044 2692 ? Ss 11:10 0:00 sshd: root@pts/0
root 25270 25270 0.0 0.0 2824 1556 pts/0 Ss 11:10 0:00 -bash
root 25323 25323 0.0 0.0 2304 904 pts/0 R+ 11:13 0:00 ps axu -T
wow:~# df -h
Filesystem Size Used Avail Use% Mounted on
simfs 39G 18G 21G 47% /
tmpfs 5.9G 0 5.9G 0% /lib/init/rw
tmpfs 5.9G 0 5.9G 0% /dev/shm
v tom conf.d tu hoho mysql je jenom old_password.cnf , kde je :
# created by debconf
[mysqld]
old_passwords = false
-
Vysoky IO Wait?
Prvy naznak poskodenych diskov, urob si smart check.
-
jak se dá udělat ten smart check ?
-
http://www.google.com/search?client=ubuntu&channel=fs&q=smartctl+linux&ie=utf-8&oe=utf-8
-
Vysoky IO Wait?
Prvy naznak poskodenych diskov, urob si smart check.
Vysoky IO wait je v tomto pripade zpusoben zaplneni pameti a swapovanim.
Jen prijit na to ktera aplikace to tolik zere. Rekl bych ze po zastaveni mysql se pamet uvolni.
-
Tak mne spíš děsí load average: 2.09 . S tou pamětí bych to zle neviděl. 17 total, 1 running, hm, jede mysqld, když se s tím nic nedělá, tak to mysqld má být víceméně ve sleep stavu. Proč není? Viděl bych to na nějakej tragickej problém v tom mysqld, nebo něco v jádře. Jestli je potíž v hardwaru dmesg by mohl napovědět.