作者 主題: Apache和Mysql Process問題  (閱讀 4947 次)

0 會員 與 1 訪客 正在閱讀本文。

Yin2000

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
Apache和Mysql Process問題
« 於: 2009-12-28 11:56 »
我的server出現很多的httpd
在top下見到
httpd 48M
httpd 48M
httpd 50M
...
有十多個

mysqld 不時也有7-8個 10M 的.....

請問是不是正常?

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: Apache和Mysql Process問題
« 回覆 #1 於: 2009-12-28 12:39 »
我的server出現很多的httpd
在top下見到
httpd 48M
httpd 48M
httpd 50M
...
有十多個

mysqld 不時也有7-8個 10M 的.....

請問是不是正常?

先看一下 log 有沒有什麼不正常的大量連線

Yin2000

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
回覆: Apache和Mysql Process問題
« 回覆 #2 於: 2009-12-28 14:19 »
請問要看那一個log....
我是新手剛開始接手一個web server
感謝....非常困擾 > <

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
回覆: Apache和Mysql Process問題
« 回覆 #3 於: 2009-12-28 15:08 »
請問你的困擾是?...
怕佔用太多記憶體?...
你有用過 free 看過嗎?....
還是只是看到那個數字很高..很擔心?...

那你看到我的應該會暈倒...
代碼: [選擇]
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                           
 1744 www-data  20   0  397m  61m  49m S    0  1.6   2:30.83 apache2                                                                           
 1746 www-data  20   0  399m  67m  53m S    0  1.7   2:12.99 apache2                                                                           
 1750 www-data  20   0  400m  64m  49m S    0  1.6   2:42.11 apache2                                                                           
 1751 www-data  20   0  399m  63m  49m S    0  1.6   2:15.31 apache2                                                                           
 1752 www-data  20   0  399m  63m  49m S    0  1.6   2:27.15 apache2                                                                           
 1766 www-data  20   0  409m  73m  49m S    0  1.8   2:30.58 apache2                                                                           
 1767 www-data  20   0  399m  65m  50m S    0  1.6   2:18.30 apache2                                                                           
 1768 www-data  20   0  399m  62m  47m S    0  1.6   2:09.76 apache2                                                                           
 1866 www-data  20   0  399m  59m  45m S    0  1.5   1:58.62 apache2                                                                           
 1918 www-data  20   0  397m  73m  61m S    0  1.9   2:37.40 apache2                                                                           
 1919 www-data  20   0  399m  65m  51m S    0  1.7   2:26.91 apache2                                                                           
 1976 www-data  20   0  402m  82m  64m S    0  2.1   2:10.02 apache2                                                                           
 2091 www-data  20   0  399m  61m  46m S    0  1.5   2:20.41 apache2                                                                           
 2415 www-data  20   0  399m  63m  49m S    0  1.6   2:14.41 apache2                                                                           
 2416 www-data  20   0  399m  60m  46m S    0  1.5   2:02.39 apache2                                                                           
 2417 www-data  20   0  400m  63m  48m S    0  1.6   2:26.34 apache2                                                                           
20209 www-data  20   0  396m  56m  45m S    0  1.4   0:28.58 apache2                                                                           
22323 www-data  20   0  396m  42m  31m S    0  1.1   0:09.06 apache2                                                                           
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

Yin2000

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
回覆: Apache和Mysql Process問題
« 回覆 #4 於: 2009-12-28 15:14 »
多謝你的回覆哦....我的問題是....mem 只剩 20292k free....
有error 說Cannot allocate memory...以下是top 的內容

15:10:03  up 54 min,  1 user,  load average: 2.61, 2.08, 1.30
90 processes: 81 sleeping, 2 running, 7 zombie, 0 stopped
CPU states:  cpu    user    nice  system    irq  softirq  iowait    idle
           total   11.0%    0.0%   12.8%   0.0%     0.0%    0.0%   76.1%
           cpu00    9.6%    0.0%   12.0%   0.0%     0.0%    0.0%   78.3%
           cpu01   12.3%    0.0%   13.6%   0.0%     0.0%    0.0%   74.0%
Mem:  3087140k av, 3066848k used,   20292k free,       0k shrd,   31196k buff
       828472k active,            2068584k inactive
Swap: 6289436k av,  741332k used, 5548104k free                 2156708k cached

Yin2000

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
回覆: Apache和Mysql Process問題
« 回覆 #5 於: 2009-12-28 15:16 »
另外在mysql 找到這個error log

Number of processes running now: 0
091226 20:58:30  mysqld restarted
091226 20:58:30  InnoDB: Started; log sequence number 0 8096839
/usr/sbin/mysqld: ready for connections.
Version: '4.1.22-standard-log'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Edition - Standard (GPL)
091226 20:58:37 [ERROR] mysqld: Got error 12 from select
091226 20:59:05 [ERROR] /usr/sbin/mysqld: Can't find file: './dbname/configuration.frm' (errno: 12)
091226 20:59:05 [ERROR] /usr/sbin/mysqld: Can't find file: './dbname/configuration.frm' (errno: 12)
091226 20:59:25 [ERROR] Error in accept: Cannot allocate memory
mysqld got signal 11;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help diagnose
the problem, but since we have already crashed, something is definitely wrong
and this may fail.

key_buffer_size=16777216
read_buffer_size=258048
max_used_connections=5
max_connections=150
threads_connected=4
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 130982 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0x8a3fe10
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
Cannot determine thread, fp=0xbe5fd898, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x812c0d0
0x4003b619
0x400398c5
0x400361a7
0x8336eb5
0x8336d16
0x8336529
0x8335f40
0x81a7df4
0x81a7ad3
0x81a73ce
0x8172882
0x8164d27
0x816561c
0x8161e33
0x813fa7d
0x8144e7d
0x813e53b
0x813e1d6
0x813d9af
0x4003583e
0x401b1aea
New value of fp=(nil) failed sanity check, terminating stack trace!
Please read http://dev.mysql.com/doc/mysql/en/Using_stack_trace.html and follow instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please do
resolve it
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x8a79978 = select p.products_id, p.products_image, p.products_tax_class_id, p.products_price from products p, products_to_categories ptc, categories c where p.products_id = ptc.products_id AND ptc.categories_id = c.categories_id AND c.MC = '1' AND p.products_status = '1' AND p.products_id != '6519' order by p.products_date_added desc limit 18
thd->thread_id=203
The manual page at http://www.mysql.com/doc/en/Crashing.html contains
information that should help you find out what is causing the crash.

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
回覆: Apache和Mysql Process問題
« 回覆 #6 於: 2009-12-28 15:18 »
看一下磁碟空間剩餘多少....

而且你的機器算忙得...
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

Yin2000

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
回覆: Apache和Mysql Process問題
« 回覆 #7 於: 2009-12-28 15:22 »
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/vzfs             41943040  26718508  15224532  64% /
tmpfs                  1543568         0   1543568   0% /dev/shm

這是一個購物網.....還有36% free 的哦....
我嘗試了restart server....mem use 還是一樣那麼多....
不知加memory是否可解決問題....

liteC

  • 憂鬱的高中生
  • ***
  • 文章數: 158
    • 檢視個人資料
    • 軟體
回覆: Apache和Mysql Process問題
« 回覆 #8 於: 2009-12-29 17:49 »
mysqld got signal 11;

就是有bug了, 重裝mysql吧. 另外一問您的cpu是否為AMD牌?

之前我用AMD牌的CPU和CentOS不大合可能要重編核心要不然會常遇到一些奇奇怪怪的問題
非常謝謝學長們熱心回答我發問的問題
非常感寫 m(_ _)m

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: Apache和Mysql Process問題
« 回覆 #9 於: 2009-12-29 18:46 »
之前我用AMD牌的CPU和CentOS不大合可能要重編核心要不然會常遇到一些奇奇怪怪的問題

是嗎!?
我從CentOS 4.0開始一直到現在5.4
都是用AMD的, 單核雙核都用過
i368版跟x64版也都安裝過
從來沒有需要重編kernel
也沒碰到什麼奇奇怪怪的問題


樓主PO的log, 應該是設定上的問題吧

yufeng

  • 懷疑的國中生
  • **
  • 文章數: 86
    • 檢視個人資料
回覆: Apache和Mysql Process問題
« 回覆 #10 於: 2009-12-30 21:08 »
091226 20:58:37 [ERROR] mysqld: Got error 12 from select
091226 20:59:05 [ERROR] /usr/sbin/mysqld: Can't find file: './dbname/configuration.frm' (errno: 12)
091226 20:59:05 [ERROR] /usr/sbin/mysqld: Can't find file: './dbname/configuration.frm' (errno: 12)


這不就是第一個問題了嗎?
DB 裡有 configuration 這個 table 嗎?
為什麼會去 select? 為什麼 table 的檔案不見了?

Yin2000

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
回覆: Apache和Mysql Process問題
« 回覆 #11 於: 2009-12-31 10:28 »
當時mysql應該當了....

rainday

  • 鑽研的研究生
  • *****
  • 文章數: 738
  • 性別: 男
  • enhancing and optimizing
    • 檢視個人資料
回覆: Apache和Mysql Process問題
« 回覆 #12 於: 2010-01-04 23:28 »
什麼時候會不正常?
執行這行呢
 select p.products_id, p.products_image, p.products_tax_class_id, p.products_price from products p, products_to_categories ptc, categories c where p.products_id = ptc.products_id AND ptc.categories_id = c.categories_id AND c.MC = '1' AND p.products_status = '1' AND p.products_id != '6519' order by p.products_date_added desc limit 18
<0  =_=  Don't learn to hack , hack to learn.

Yin2000

  • 可愛的小學生
  • *
  • 文章數: 14
    • 檢視個人資料
回覆: Apache和Mysql Process問題
« 回覆 #13 於: 2010-01-05 11:28 »
oh .....
問題已經解決了....
mysql 沒再當......但是server cannot allocate memory 依然存在.....
現在想是code不好....會向coding入手......

那句sql沒有問題....奇就奇在以前每次mysql 當了也都出這句error...