PSPCommunity.org ورود | ثبت نام | كمك

آرش آقاجانی (Arash Aghajani)

Technical Persian Blog Focus on Microsoft SharePoint Products and Technologies

اخبار

بيشترين بازديد شده

محدود کردن حافظه اشغال شده توسط noderunner.exe در سرور شیرپوینت 2013

دوستان سلام

خیلی از ادمین ها و مدیران زیرساخت شرپوینت 2013 ، از بلعیده شدن فضای بسیار زیادی از حافظه رم و همچنین CPU در سرورهای WFE شرپوینت 2013 (سروری که شیرپوینت بر روی آن نصب میشود) توسط پروسسی به نام noderunner.exe و کندی شدید شیرپوینت مخصوصا زمانیکه شرپوینت و سرویس جستجو بر روی یک سرور راه اندازی میشوند،  گلایه می کنند.

این پروسس مهم ترین پروسس سرویس جستجوی شیرپوینت 2013 میباشد. این پروسس براساس وظایف خود و بازه های زمانی ای که برای آن تعریف شده به صورت خودکار کامپوننت های جستجو را فراخوانی می نماید. به همین علت نیاز به فضای زیادی از حافظه رم بر روی سرور دارد. با این تفاسیر هر زمان که کندی ای بر روی سرور شرپوینت اتفاق می افتد یکی از سرویس هایی که شدیداً حافظه رم را اشغال نموده است همین noderunner.exe میباشد. (در شکل زیر ساختار معماری جستجو در شرپوینت سرور را مشاهده می کنید)

6740.noderunner2

در تصویر زیر مشاهده می کنید این پروسس با نام Microsoft SharePoint Search Component در تسک منیجر بالاتر از سایر سرویس ها و پروسس های شرپوینت مشغول کار میباشد و فضا های زیادی از رم را بلعیده است :

image

اما راه حل برای آزادسازی این فضاها چیست؟

هر زمان که این مورد را در گوگل جستجو کنید، در اکثر وبلاگ ها راه حل زیر را برای محدود کردن فضای رم اشغال شده توسط این پروسس پیشنهاد کرده اند. شما هم میتوانید از این روش استفاده نمایید :

1- ابتدا بر روی سرور شرپوینت از طریق خط فرمان PowerShell دستور زیر را اجرا کنید:

Set-SPEnterpriseSearchService -PerformanceLevel Reduced

2- سپس بر روی سرور شرپوینت وارد آدرس زیر شوید :

C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0

در این آدرس فایل noderunner.exe.config را با یک ادیتور ویرایش کنید.

3- حال در داخل فایل مقدار MemoryLimitMegabyte (تخمین حافظه رم ) را از صفر به هر مقداری مانند 512 یا 1024 برحسب مگابایت تغییر دهید :

<nodeRunnerSettings memoryLimitMegabytes="1024" />

4- حال تغییرات فایل را ذخیره نمایید. با اینکار شما پروسس noderunner.exe را محدود به استفاده از 1024 مگابایت فضای رم کرده اید و سرور شما نفسی خواهد کشید!

تا اینجا مشکل برطرف شد. اما برخی کارشناسان اعلام کرده اند که استفاده از این روش ممکن است سبب بروز خطاهای جدیدی در سرویس جستجوی شرپوینت شود :

    • The item was aborted because the pipeline did not respond within the appropriate time. This item will be retried in the next crawl
    • Unable to connect to system client with derived management URIs. Exception: Failed to connect to system manager. Microsoft.Office.Server.Search.Administration.Topology.ApplicationAdminLayer.Reconnect()
    • Unable to retrieve topology component health states. This may be because the admin component is not up and running

این کارشناسان اعلام کرده اند که مشکل Memory-leak در شرپوینت 2013 فقط در نسخه beta وجود داشته و در نسخه RTM یا نهایی این مورد وجود ندارد و شما نیازی به محدود کردن حافظه رم در noderunner ندارید. اما بنده و خیلی از همکارانم در محیطهای عملیاتی و نسخه های سرویس پک 1 نیز این مشکل را مشاهده کرده ایم :.

راه حلی که این افراد برای اینگونه فارم ها پیشنهاد می کنند عبارت است از :

  1. غیرفعال کردن همه زمانبندی کرال ها در سرویس جستجوی شرپوینت
  2. محدود کردن Content Source ها و سایت ها جهت کرال
  3. متوقف کردن کامل سرویس جستجو در شرپوینت و فعال کردن آن هر زمانی که نیاز به جستجو باشد.

بنده شخصاً موافق موارد فوق نیستم چون سرویس جستجو یکی از سرویسهای مورد نیاز سازمان ها در شرپوینت میباشد. و پیشنهاد می کنم در صورت مواجه با این مشکل یا از محدود سازی حافظه رم در noderunner همراه با فضای رم بیشتر استفاده نمایید و یا توپولوژی فارم را طوری تغییر دهید که سرویس جستجوی شیرپوینت بر روی سرورهای مجزای دیگری راه اندازی و مدیریت شوند. برای اینکار میتوانید به مقاله و مستندات زیر مراجعه کنید :

http://technet.microsoft.com/en-us/library/dn342836.aspx

http://www.microsoft.com/en-gb/download/details.aspx?id=30374

 

موفق باشید.

Posted: Friday, August 22, 2014 2:58 PM توسط Arash

نظرات

بدون نظر

نظرات افراد ناشناس غير فعال مي باشد