Fórum Root.cz

Hlavní témata => Distribuce => Téma založeno: Mouse 29. 07. 2010, 11:30:28

Název: Plná pamět po startu PC
Přispěvatel: 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
Název: Re: Plná pamět po startu PC
Přispěvatel: Petr Krčmář 29. 07. 2010, 14:59:14
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?
Název: Re: Plná pamět po startu PC
Přispěvatel: Mouse 29. 07. 2010, 15:03:53
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í :(
Název: Re: Plná pamět po startu PC
Přispěvatel: Petr Krčmář 29. 07. 2010, 15:16:01
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ů.
Název: Re: Plná pamět po startu PC
Přispěvatel: Mouse 29. 07. 2010, 15:23:00
takže je nějaký problém s diskama ? .. jak by se to dalo řešit ?
Název: Re: Plná pamět po startu PC
Přispěvatel: Petr Krčmář 29. 07. 2010, 15:31:27
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.
Název: Re: Plná pamět po startu PC
Přispěvatel: Mouse 29. 07. 2010, 15:39:16
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 :(
Název: Re: Plná pamět po startu PC
Přispěvatel: Luinar 29. 07. 2010, 16:10:18
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.
Název: Re: Plná pamět po startu PC
Přispěvatel: Vjetnamxx 29. 07. 2010, 16:18:18
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.
Název: Re: Plná pamět po startu PC
Přispěvatel: Mouse 29. 07. 2010, 17:30:41
Problém je ten , že nemohu vypnout mysql , protože ta aplikace sním spolupracuje
Název: Re: Plná pamět po startu PC
Přispěvatel: Hynek Vychodil 29. 07. 2010, 18:34:47
Citace
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?
Název: Re: Plná pamět po startu PC
Přispěvatel: Vjetnamxx 29. 07. 2010, 18:44:21
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
Název: Re: Plná pamět po startu PC
Přispěvatel: Mouse 29. 07. 2010, 18:51:57
#
# 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/
Název: Re: Plná pamět po startu PC
Přispěvatel: Vlasta 29. 07. 2010, 19:55:34
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)

Název: Re: Plná pamět po startu PC
Přispěvatel: JardaP . 30. 07. 2010, 00:09:48
BTW, co rika df -h?
Název: Re: Plná pamět po startu PC
Přispěvatel: Adam 30. 07. 2010, 04:18:55
Citace
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?
Název: Re: Plná pamět po startu PC
Přispěvatel: Vjetnamxx 30. 07. 2010, 10:45:13
jsou ještě nějaké konfiguranční soubory v adresáři /etc/mysql/conf.d/ ?
Pokud ano prosím o výpis.
Název: Re: Plná pamět po startu PC
Přispěvatel: Mouse 30. 07. 2010, 11:16:21
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
Název: Re: Plná pamět po startu PC
Přispěvatel: PCnity 30. 07. 2010, 12:42:50
Vysoky IO Wait?
Prvy naznak poskodenych diskov, urob si smart check.
Název: Re: Plná pamět po startu PC
Přispěvatel: Mouse 30. 07. 2010, 13:14:28
jak se dá udělat ten smart check ?
Název: Re: Plná pamět po startu PC
Přispěvatel: PCnity 30. 07. 2010, 13:34:16
http://www.google.com/search?client=ubuntu&channel=fs&q=smartctl+linux&ie=utf-8&oe=utf-8
Název: Re: Plná pamět po startu PC
Přispěvatel: Vjetnamxx 02. 08. 2010, 01:47:43
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.
Název: Re: Plná pamět po startu PC
Přispěvatel: benghi 02. 08. 2010, 09:49:38
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.