The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"FreeBSD, 70% System в top"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на сервере (Система. проблемы, диагностика / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"FreeBSD, 70% System в top"  +/
Сообщение от mega4el (ok) on 19-Мрт-10, 16:06 
Добрый день,
Есть веб-сервер на
6.4-RELEASE-p7 FreeBSD 6.4-RELEASE-p7 #0: Fri Oct  2 01:28:08 UTC 2009     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/SMP  amd64

Софт как обычно: апач, nginx, mysql, named, ftp.
Трафика не много, около 2 мегабит.
И вот в топе наблюдаю странную картину:
last pid: 29001;  load averages:  2.34,  2.39,  2.36                                                                  up 11+21:04:42  16:00:50
100 processes: 3 running, 95 sleeping, 2 stopped
CPU: 28.1% user,  0.0% nice, 68.9% system,  0.6% interrupt,  2.4% idle
Mem: 566M Active, 831M Inact, 267M Wired, 56M Cache, 212M Buf, 103M Free
Swap: 4045M Total, 100K Used, 4045M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
90307 www           1   4    0   125M 45568K accept 0   4:01  4.74% httpd
79614 www           1   4    0   122M 42660K accept 0   1:17  4.25% httpd
  764 www           1   4    0   121M 41760K accept 1   3:53  4.00% httpd
75274 www           1   4    0   122M 42708K accept 0   3:48  3.76% httpd
  952 mysql        36  20    0   513M   208M kserel 0 948:37  3.42% mysqld
79610 www           1   4    0   124M 44364K accept 0   1:16  3.03% httpd
79613 www           1   4    0   124M 44364K accept 1   1:20  2.64% httpd

Откуда, блин, 68.9% system?
Диск не нагружен, зеркало на базе gmirror в порядке, в логах чисто, ошибок на интерфейсах нет, место свободное есть, ipfw включен, но правил там штук 15. top -S показывает так:
  PID USERNAME    THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   41 root          1 171   52     0K    16K pgzero 0  16.8H  7.18% pagezero
79609 www           1   4    0   124M 44352K accept 1   1:23  5.66% httpd
  952 mysql        36  20    0   513M   208M kserel 1 948:58  4.83% mysqld
75274 www           1   4    0   122M 42708K accept 0   3:58  4.44% httpd
   10 root          1 171   52     0K    16K RUN    1 120.9H  4.30% idle: cpu1
79608 www           1   4    0   121M 41632K accept 0   1:32  4.15% httpd
   11 root          1 171   52     0K    16K RUN    0 129.4H  3.81% idle: cpu0

Подскажите куда копать?

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "FreeBSD, 70% System в top"  +/
Сообщение от cuad0 (ok) on 19-Мрт-10, 16:26 
>[оверквотинг удален]
>   root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/SMP  amd64
>
>Софт как обычно: апач, nginx, mysql, named, ftp.
>Трафика не много, около 2 мегабит.
>И вот в топе наблюдаю странную картину:
>Откуда, блин, 68.9% system?
>Диск не нагружен, зеркало на базе gmirror в порядке, в логах чисто,
>ошибок на интерфейсах нет, место свободное есть, ipfw включен, но правил
>там штук 15. top -S показывает так:
>Подскажите куда копать?

Оно постоянно так, или периодически/под нагрузкой/от балды?
Давно fsck-али? посидите, помониторьте всякими *stat-ами, напр. iostat...


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "FreeBSD, 70% System в top"  +/
Сообщение от mega4el (ok) on 19-Мрт-10, 16:34 
>Оно постоянно так, или периодически/под нагрузкой/от балды?
>Давно fsck-али? посидите, помониторьте всякими *stat-ами, напр. iostat...

Последний час оно стабильно держится на таком уровне, а раньше просто не смотрел.
А что именно мониторить? Дисковая нагрузка там не большая. systat -vmstat 1
    1 users    Load  2.60  2.48  2.48                  Mar 19 16:31

Mem:KB    REAL            VIRTUAL                       VN PAGER   SWAP PAGER
        Tot   Share      Tot    Share    Free           in   out     in   out
Act  579828   22188  1019472    36472  180200  count
All  650496   24716  5371604    40544          pages
Proc:                                                            Interrupts
  r   p   d   s   w   Csw  Trp  Sys  Int  Sof  Flt  21557 cow    4120 total
  2      12  86       20k  94k  86k  356 1176  94k  47154 zfod        uhci0 ehci
                                                    37876 ozfod    37 uhci1+ 17
62.0%Sys   0.7%Intr 34.3%User  0.0%Nice  2.9%Idle      80%ozfod  1994 cpu0: time
|    |    |    |    |    |    |    |    |    |    |       daefr    95 em0 irq256
===============================>>>>>>>>>>>>>>>>>>   51368 prcfr       em1 irq257
                                       185 dtbuf    92503 totfr  1994 cpu1: time
Namei     Name-cache   Dir-cache    150000 desvn          react
   Calls    hits   %    hits   %     74592 numvn          pdwak
   38423   38416 100                 24987 frevn          pdpgs
                                                     1341 intrn
Disks   ad4   ad6                                  275608 wire
KB/t    115   115                                  579752 act
tps      11    11                                  832936 inact
MB/s   1.21  1.21                                   76304 cache
%busy     1     1                                  103944 free
                                                   217440 buf

И как бы побезопаснее прогнать fsck на этом удаленном, боевом сервере чтобы ничего плохого не вышло?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "FreeBSD, 70% System в top"  +/
Сообщение от mega4el (ok) on 19-Мрт-10, 16:40 
Кстати, а оно не может быть связано с процессом pagezero?
sysctl -a | grep zero
vm.stats.misc.zero_page_count: 0
vm.stats.misc.cnt_prezero: -28686458
vm.idlezero_maxrun: 16
vm.idlezero_enable: 1
security.bsd.map_at_zero: 1


На других серверах есть vm.idlezero_enable: 0 и vm.idlezero_enable: 1. Но нигде это руками не включалось и не выключалось. Но такой проблемы не наблюдается.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "FreeBSD, 70% System в top"  +/
Сообщение от cuad0 (ok) on 19-Мрт-10, 18:46 
>Кстати, а оно не может быть связано с процессом pagezero?

В пределе может быть связано с чем угодно. Из своего опыта могу только вспомнить, что как-то был аномальный sys% из-за грязной ФС и mysql с его binlog-ом - сервер был не боевой, но под активным юзанием. После сбоя питания никто не проверил таблицы мускуля на покоцанность, а fsck при старте ФС прочекал, но не исправил. При отключении сервера от сетки (чтоб доп. нагрузку никто не создавал) оставалось невнятное шуршание дисками, видимое по iostat и загрузка sys cpu. Ребутнулись в single-user, чтобы все разделы были отмонтированы, fsck-нули всё (была куууча исправлений), перегрузились и все прошло.

Если fsck пустить без ключей - он исправлять ничего не будет, а просто выведет косяки, какие найдет. И раздел отмонтировать не надо.

Впрочем, у вас, видимо, не с дисками беда.

>На других серверах есть vm.idlezero_enable: 0 и vm.idlezero_enable: 1. Но нигде это
>руками не включалось и не выключалось. Но такой проблемы не наблюдается.

vm.idlezero_enable - это "Allow the kernel to use idle cpu cycles to zero-out pages", поставьте в ноль и поглядите, что получится.
А вот vm.stats.misc.cnt_prezero (The number of physical pages prezeroed at idle time) интересно почему отрицательный. overflow, что ли уже был за 12 дней аптайма. Да и zero_page_count = 0...


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "FreeBSD, 70% System в top"  +/
Сообщение от mega4el (ok) on 19-Мрт-10, 20:20 
Похоже все-таки с ФС проблема. fsck показал много косяков. Спасибо за наводку!
Надо будет просить ДЦ сделать проверку в сингл моде. Это ведь самое правильное решение?

А установка vm.idlezero_enable=0 ничего не изменила. Только процесс pagezero исчез из лидеров. Но загрузка осталась прежней.
Вот еще на всякий случай:
sysctl -a | grep vm.stats.vm
vm.stats.vm.v_kthreadpages: 0
vm.stats.vm.v_rforkpages: 0
vm.stats.vm.v_vforkpages: 48798182
vm.stats.vm.v_forkpages: 3476563642
vm.stats.vm.v_kthreads: 46
vm.stats.vm.v_rforks: 0
vm.stats.vm.v_vforks: 26960
vm.stats.vm.v_forks: 612529408
vm.stats.vm.v_interrupt_free_min: 2
vm.stats.vm.v_pageout_free_min: 34
vm.stats.vm.v_cache_max: 27490
vm.stats.vm.v_cache_min: 13745
vm.stats.vm.v_cache_count: 25238
vm.stats.vm.v_inactive_count: 155070
vm.stats.vm.v_inactive_target: 20617
vm.stats.vm.v_active_count: 201769
vm.stats.vm.v_wire_count: 68664
vm.stats.vm.v_free_count: 18046
vm.stats.vm.v_free_min: 3252
vm.stats.vm.v_free_target: 13745
vm.stats.vm.v_free_reserved: 737
vm.stats.vm.v_page_count: 503419
vm.stats.vm.v_page_size: 4096
vm.stats.vm.v_tfree: 1805417550
vm.stats.vm.v_pfree: 3673824360
vm.stats.vm.v_dfree: 1
vm.stats.vm.v_pdpages: 20835032
vm.stats.vm.v_pdwakeups: 1443
vm.stats.vm.v_reactivated: 820679
vm.stats.vm.v_intrans: 214787235
vm.stats.vm.v_vnodepgsout: 0
vm.stats.vm.v_vnodepgsin: 82395
vm.stats.vm.v_vnodeout: 0
vm.stats.vm.v_vnodein: 24597
vm.stats.vm.v_swappgsout: 403
vm.stats.vm.v_swappgsin: 1066
vm.stats.vm.v_swapout: 212
vm.stats.vm.v_swapin: 627
vm.stats.vm.v_ozfod: 488460684
vm.stats.vm.v_zfod: 1393359312
vm.stats.vm.v_cow_optim: 217937
vm.stats.vm.v_cow_faults: 907199325
vm.stats.vm.v_vm_faults: 1465995205


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "FreeBSD, 70% System в top"  +/
Сообщение от cuad0 (ok) on 19-Мрт-10, 20:35 
>Похоже все-таки с ФС проблема. fsck показал много косяков. Спасибо за наводку!

Не факт, что именно ФС - причина, но может косвенно способствовать...


>Надо будет просить ДЦ сделать проверку в сингл моде. Это ведь самое
>правильное решение?

Строго говоря - да. Главное, чтобы раздел был отмонтирован, а этого можно добиться и в обычном режиме, если разогнать все процессы, которые могут использовать данный раздел.


>А установка vm.idlezero_enable=0 ничего не изменила. Только процесс pagezero исчез из лидеров.

потому, что мы запретили ему использовать idle-циклы cpu для обнуления страниц памяти.
А после этого % в system так и остался высокий?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "FreeBSD, 70% System в top"  +/
Сообщение от mega4el (ok) on 19-Мрт-10, 21:02 
да, остался точно таким же.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "FreeBSD, 70% System в top"  +/
Сообщение от cuad0 (ok) on 20-Мрт-10, 00:47 
Хм, просто в том top -S, что вы приводили, pagezero далеко не 0% sys занимал...
А без него что там в top-e? Или даже в top -I, чтобы без idle процессов...
Впрочем, -S можно опустить, необязательно системный процесс будет дергать sys cpu, т.к. даже системный вызов sendfile() или копирование блока на хдд в любом юзерском приложении будет отражаться в sys cpu.

По крайней мере всегда есть возможность, если ребут в single user и fsck нежелателен, попробовать глубокой ночью по очереди выключать основные рабочие процессы и следить за sys cpu, вдруг попадется косвенная причина :))

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "FreeBSD, 70% System в top"  +/
Сообщение от mega4el (ok) on 20-Мрт-10, 01:59 
top -S
CPU: 36.6% user,  0.0% nice, 61.5% system,  0.2% interrupt,  1.7% idle
Mem: 874M Active, 543M Inact, 268M Wired, 53M Cache, 212M Buf, 94M Free
Swap: 4045M Total, 100K Used, 4045M Free

  PID USERNAME    THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   11 root          1 171   52     0K    16K RUN    0 129.8H  3.52% idle: cpu0
   10 root          1 171   52     0K    16K RUN    1 121.2H  3.37% idle: cpu1
5724 www           1   4    0   123M 43816K accept 1   4:55  3.32% httpd
5721 www           1   4    0   142M 62904K accept 1   4:49  2.98% httpd
5715 www           1   4    0   121M 41844K accept 1   5:00  2.25% httpd
5729 www           1   4    0   124M 44572K accept 1   4:45  2.20% httpd
  952 mysql        36  20    0   513M   208M kserel 0 995:40  1.46% mysqld

top -I
  PID USERNAME    THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
5716 www           1   4    0   121M 42208K accept 1   5:03  4.15% httpd
5731 www           1   4    0   128M 48560K accept 0   5:03  4.15% httpd
  952 mysql        36  20    0   513M   208M kserel 1 995:46  3.91% mysqld
5730 www           1   4    0   125M 45936K accept 0   5:03  3.76% httpd
5719 www           1   4    0   130M 50672K accept 0   5:11  3.47% httpd
5714 www           1   4    0   123M 43532K accept 1   5:06  3.42% httpd
5720 www           1   4    0   126M 46968K accept 0   4:57  2.54% httpd
5728 www           1   4    0   121M 41716K accept 1   4:51  1.95% httpd
5723 www           1   4    0   125M 45760K accept 1   5:05  1.90% httpd

Т.е. все как бы нормально.
Посмотрим что даст fsck если техники в ДЦ сегодня ее сделают.


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "FreeBSD, 70% System в top"  +/
Сообщение от cuad0 (ok) on 20-Мрт-10, 03:25 
>Т.е. все как бы нормально.
>Посмотрим что даст fsck если техники в ДЦ сегодня ее сделают.

Ну, как бы да, если бы не sys в 60% да еще на двух процах...
Чисто для себя поинтересуюсь, у вас двухядерник или a-la hyper-threading?
А чего апачи такие, эмм, толстоватые? По 40-55мб процесс... Какими модулями вы его нашинковали, если не секрет?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "FreeBSD, 70% System в top"  +/
Сообщение от mega4el (ok) on 20-Мрт-10, 11:39 
>Чисто для себя поинтересуюсь, у вас двухядерник или a-la hyper-threading?
>А чего апачи такие, эмм, толстоватые? По 40-55мб процесс... Какими модулями вы
>его нашинковали, если не секрет?

После проверки диска ситуация нормализовалась.

Проц здесь такой:
CPU: Intel(R) Pentium(R) Dual  CPU  E2200  @ 2.20GHz (2194.51-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x6fd  Stepping = 13
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0xe39d<SSE3,RSVD2,MON,DS_CPL,EST,TM2,SSSE3,CX16,xTPR,PDCM>
  AMD Features=0x20100800<SYSCALL,NX,LM>
  AMD Features2=0x1<LAHF>
  Cores per package: 2
real memory  = 2137522176 (2038 MB)
avail memory = 2051100672 (1956 MB)
ACPI APIC Table: <INTELB R_WATERP>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0 (BSP): APIC ID:  0
cpu1 (AP): APIC ID:  1

А это модули, в принципе все стандартное:
cat /usr/local/etc/apache2/httpd.conf |grep Load
LoadModule rpaf_module        libexec/apache2/mod_rpaf.so
LoadModule php5_module        libexec/apache2/libphp5.so
LoadModule geoip_module       libexec/apache2/mod_geoip.so
LoadModule access_module libexec/apache2/mod_access.so
LoadModule auth_module libexec/apache2/mod_auth.so
LoadModule auth_anon_module libexec/apache2/mod_auth_anon.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule log_config_module libexec/apache2/mod_log_config.so
LoadModule logio_module libexec/apache2/mod_logio.so
LoadModule env_module libexec/apache2/mod_env.so
LoadModule expires_module libexec/apache2/mod_expires.so
LoadModule headers_module libexec/apache2/mod_headers.so
LoadModule mime_magic_module libexec/apache2/mod_mime_magic.so
LoadModule status_module libexec/apache2/mod_status.so
LoadModule autoindex_module libexec/apache2/mod_autoindex.so
LoadModule asis_module libexec/apache2/mod_asis.so
LoadModule info_module libexec/apache2/mod_info.so
LoadModule cgi_module libexec/apache2/mod_cgi.so
LoadModule actions_module libexec/apache2/mod_actions.so
LoadModule setenvif_module libexec/apache2/mod_setenvif.so
LoadModule alias_module libexec/apache2/mod_alias.so
LoadModule dir_module libexec/apache2/mod_dir.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
LoadModule mime_module libexec/apache2/mod_mime.so


Большое спасибо вам за помощь!

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "FreeBSD, 70% System в top"  +/
Сообщение от cuad0 (ok) on 19-Мрт-10, 18:59 
>[оверквотинг удален]
>vm.stats.misc.zero_page_count: 0
>vm.stats.misc.cnt_prezero: -28686458
>vm.idlezero_maxrun: 16
>vm.idlezero_enable: 1
>security.bsd.map_at_zero: 1
>
>
>На других серверах есть vm.idlezero_enable: 0 и vm.idlezero_enable: 1. Но нигде это
>руками не включалось и не выключалось. Но такой проблемы не наблюдается.
>

Да, кстати, а покажите вашу ветку vm.stats.vm.*

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру