توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : هنگ کردن سرور سر یک ساعت خاص
spsgorgan
August 8th, 2013, 14:07
سلام دوستان، خسته نباشید
سرور ما یک هفته ای هست که سر یک ساعت خاص به مدت 2 3 ساعت کاملاً هنگ میکنه. رم در حد فول میشه. این مسئله واسه یوزر ها نیست چون توی اون ساعت یوزر زیادی رو سایت ها نیستند.
از دوستان کسی شل اسکریپیتی میشناسه که من بتنونم برنامه هایی که باعث افزایش رم میشه رو رصد کنم ؟
نکته ای دیگه که mysqld هم میخوابه . من فایل my.cnf رو میزارم یک نظری بدید ممنون میشم. رم این vps ما 2 هست
# Example MySQL config file for large systems.
#
# This is for a large system with memory = 512M where the system runs mainly
# MySQL.
#
# MySQL programs look for option files in a set of
# locations which depend on the deployment platform.
# You can copy this option file to one of those
# locations. For information about these locations, see:
# MySQL :: MySQL 5.6 Reference Manual :: 4.2.3.3 Using Option Files (http://dev.mysql.com/doc/mysql/en/option-files.html)
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
local-infile=0
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking
# Replication Master Server (default)
# binary logging is required for replication
log-bin=mysql-bin
# binary logging format - mixed recommended
binlog_format=mixed
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id = 1
# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave, you can choose between
# two methods :
#
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
# the syntax is:
#
# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
#
# where you replace <host>, <user>, <password> by quoted strings and
# <port> by the master's port number (3306 by default).
#
# Example:
#
# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
# MASTER_USER='joe', MASTER_PASSWORD='secret';
#
# OR
#
# 2) Set the variables below. However, in case you choose this method, then
# start replication for the first time (even unsuccessfully, for example
# if you mistyped the password in master-password and the slave fails to
# connect), the slave will create a master.info file, and any later
# change in this file to the variables' values below will be ignored and
# overridden by the content of the master.info file, unless you shutdown
# the slave server, delete master.info and restart the slaver server.
# For that reason, you may want to leave the lines below untouched
# (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 2 and 2^32 - 1
# (and different from the master)
# defaults to 2 if master-host is set
# but will not function as a slave if omitted
#server-id = 2
#
# The replication master for this slave - required
#master-host = <hostname>
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user = <username>
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password = <password>
#
# The port the master is listening on.
# optional - defaults to 3306
#master-port = <port>
#
# binary logging - not required for slaves, but recommended
#log-bin=mysql-bin
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /var/lib/mysql
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /var/lib/mysql
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 256M
#innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 64M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
Hostine.net
August 8th, 2013, 18:11
باسلام
میشه بدونم کدوم دیتا سنتر هستید ؟
nimafire
August 8th, 2013, 18:14
البته فایل شما دارای ایرادات بسیار زیادی اتست و معلوم است تنها کپی پیست اموزش های موج.د در نت هست یا یک اسکریپت خاص این کار ار کرده که کاملا اشتباه است
اما جهت بررسی مشکل شما ببینید چه پروسه ای دچار مشکل میشود و فایل log/messeages را نیز بررسی کنید
compiler
August 8th, 2013, 18:23
حتی حرفه ای ترین ادمین های لینوکس در جهان هم با ذکر اینکه سرور من سر فلان ساعت هنگ میکنه و مشاهده محتویات فایل my.cnf نمیتونن مشکل رو ریشه یابی و حل کنند . سرور شما باید به صورت تخصصی و از همه جهات بررسی بشه . این فایل my.cnf هم به خودی خود هیچ مشکل حادی نداره . این کانفیگ میتونه در سروری عالی و در سرو دیگری با توجه به شرایط متفاوتش افتضاح باشه
موفق باشید
mizbanaval
August 8th, 2013, 18:31
درود بر شما
ایا از corn job استفاده میشه ؟
ایا بکاپ اتوماتیک روشن هست ؟ و در چه ساعتی ست شده ؟ اسکریپتی که شما دارید ایا دستوری داره تو یک ساعت خاص یک دستور شروع به کار کردن کنه؟
میزان هارد و مقدار هارد خالی رو بفرمایید همچنین چه مقدار فایل روی سرور هست ؟
ارادت
spsgorgan
August 8th, 2013, 18:48
ممنونم دوست عزیز.والا کرون که نداریم. بک آپ ها هم ساعت دیگری هست. swap 2 گیگ داریم. هارد هم زیاد خالی داریم. من بیشتر دنبال یک شل هستم که بتونم ببینیم توی اون زمان چی اجرا میشه که این حالت پیش میاد
secure_host
August 8th, 2013, 21:01
با سلام
فایل my.cnf شما می شود بهتر تنظیم کرد.
ابتدا بهتر است شما swap رو بر روی ۴ گیگ تنظیم کنید.
نیازی به وب شل نیست و شما می توانید با csf این موارد را کنترل نمایید.
اجالتا برای رصد کردن می تونید از آموزش زیر استفاده نمایید.
Linux Check Memory Usage (http://www.cyberciti.biz/faq/linux-check-memory-usage/)
با تشکر
spsgorgan
August 8th, 2013, 22:25
سپاس از شما . من این آموزش رو قبلا هم خونده بودم. اما ببینید اینا اکثرا زمانی کاربرد داره که من توی اون زمان به ssh دسترسی داشته باشم. اما چون سرور قفل میشه و من دسترسی درست و حسابی ندارم امکان مونیتور نیست. شل رو برای این میخوام که مثلا توی txt ذخیره کنه که بعدا ببینمش. امکان توضیح بیشتر برای موردی که فرمودید از csf میشه چک کرد رو دارید ؟
secure_host
August 9th, 2013, 00:45
می توانید در csf تنظیم نمایید تا پروسس های مشکوک را براتون ایمیل کنه که نیازی به ssh هم نباشه
spsgorgan
August 9th, 2013, 21:14
دوست من منظوره شما سکشن Process Tracking هست ؟ امکانش هست بفرمایید چه کانفیگی مد نظر شماست که اگر اون بود گزارش بده ؟ یا PT_DELETED رو ۱ کنم واسه ریپورت ؟
spsgorgan
August 12th, 2013, 08:25
متاسفانه با csf هم مانیتور کردیم اما جایی که باید گزارش میداد چون سرور قفل بود نوشت نمی تونم گزارش بدم.دوستان راه حل دیگه ای مد نظر ندارند ؟ جالبه سر یک ساعت شروع میشه و mysqld هم قطع میشه.
spsgorgan
August 14th, 2013, 22:18
من تونستم یک گزارش بگیرم در زمان قفل. ممنون میشم دوستان اگر میتونند راهنمایی بفرمایند
دوست من منظوره شما سکشن Process Tracking هست ؟ امکانش هست بفرمایید چه کانفیگی مد نظر شماست که اگر اون بود گزارش بده ؟ یا PT_DELETED رو ۱ کنم واسه ریپورت ؟
با سلام
خیر منظور بنده سکشن PT_DELETED_ACTION است که در این قسمت مقادیر PT_USERPROC و PT_USERMEM و PT_USERKILL و همچنین PT_USERKILL_ALERT می باشد که می توانید در قسمت PT_USERKILL_ALERT مشخص نمایید که در صورت kill شدن پروسسی سریعا به شما اطلاع رسانی نماید.
و کیل شدن پروسس هم وابسته به مقادیری است که شما در قسمت های دیگر مشخص می نمایید.
با تشکر
secure_host
August 15th, 2013, 10:24
من تونستم یک گزارش بگیرم در زمان قفل. ممنون میشم دوستان اگر میتونند راهنمایی بفرمایند
و اما در مورد این
۳ احتمال وجود دارد
۱- در مسیر /usr/local/directadmin/dataskq شما task تعریف نموده اید که ممکن است این task مربوط به backup گیری باشد.و یا مدیریت سرویس ها و یا هر پروسس دیگری که بتوان براش زمانگذاری تعریف نمود.
۲- با بررسی پروسس ها به نظر می رسد حملاتی از نوع UDP Flooding در روی سرور در حال رخ دادن است که به نظر می رسد این حملات بر روی سایت zebleh.net در حال انجام باشد.
۳- پروسس کران در سرور در حال اجرا هست که ممکن است در cron شما موردی را تغریف کرده باشید که نیاز مند پروسس بیشتر باشد.
در صورت تمایل مشخصات سرور را ارسال نمایید تا بررسی بیشتری انجام شود.
با تشکر
spsgorgan
August 15th, 2013, 13:28
سپاس از شما استاد عزیز
ما یک مقدار my.cnf رو بهینه تر کردیم. چون مقدار اولی که داشتیم توصیه شده خود DA بود.
مقادیری که اشاره فرمودید به شرح زیر هست :
PT_USERPROC = 10
PT_USERMEM = 200
PT_USERKILL = 0
PT_USERKILL_ALERT = 1
که PT_USERKILL رو گفته اگر لازم هست فعال کنید . شما چه مقادیری پیشنهاد می فرمایید؟
spsgorgan
August 15th, 2013, 13:40
راستی مقدار pt_usertime هم همون 1800 هست که فکر کنم یک مقدار بیشتر بهتره درسته ؟
spsgorgan
August 15th, 2013, 14:21
مقادیر زیر رو تائید می فرمایید ؟
PT_USERPROC = 20
PT_USERMEM = 300
PT_USERTIME = 900
PT_USERKILL = 1
PT_USERKILL_ALERT = 1
اگر پروسسی مانند mysqld رو kill کنه آیا بعدش restart میشه ؟ یا باید دستی اینکار انجام بشه ؟
ممنونم
tanhasystem
August 15th, 2013, 14:57
با اجازه از محضر اساتید محترم ما هفته پیش همین مشکل را داشتیم با راه حل زیر مشکل حل گردید ::: شما اول سرویس EXIM رو متوقف کنید با دستور
service exim stop
بعد به Phpmyadmin رفته از طریق Root و دیتابیس Exim_state را Repiar کنید
مرحله بعد شما انتی ویروس تحت لینوکس خود را بروز رسانی و بگذارید اسکن نماید بعد از اینکه اسکن تمام شد سرویسEXIM که stopکرده بودید رو با دستور
service exim start فعال کنید.
بعد با دستور crontab -l در ssh ببینید چه دستور هایی را برای شما به طور غیر منتظره در Cronjob فعال می کند چون دلیل هنگ کردن چند چیز کار کردن سرور است اگر می خواهید دستورات داخل Cronjob پاک گردد از دستور crontab -r استفاده و سرویس Cron را ریستارت کنید
service crond restart
شرمنده بازم
spsgorgan
August 15th, 2013, 15:01
سپاس بسیار از شما. فکر می کنید exim چه مشکلی داره به نظرتون ؟
spsgorgan
August 15th, 2013, 15:14
من در root دیتابیسی بنام Exim_state ندیدم . آیا با DA نصب می شود ؟ da_roundcube هست.
tanhasystem
August 15th, 2013, 15:15
سرور شما به احتمال زیاد زیاد ارسال ایمیل می نماید یا از سایت های ارسال ایمیل انبوه یا از سایت های جامعه مجازی پشتیبانی می کنید که این امر موجب ارسال زیاد توسط رابط EXim گردیده است و حتما ویروس یابی گردد
spsgorgan
August 15th, 2013, 15:18
والا ایمیل زیاد می فرستند اما با برنامه اسکن منظمی داریم که خب هر چند وقت یکبار هم ویروس کشی میشه. اما در این مشکلی که عنوان کردم خدممتون در بازه زمانی خاصی سرور لودش میره بالا و mysqld رو متوقف می کنه . یعنی سایت ها باز میشوند اما خطای اتصال دارند چون mysqld خاموش شده. بعد از 1 ساعت میاد بالا.