এসকিউএল সার্ভার 2012 এক্সপ্রেস কেন আমার সার্ভারে 9.5 জিবি র‌্যাম ব্যবহার করে?


22

আমি একটি অ্যাপ্লিকেশন তৈরি করছি যেখানে আমি এসকিউএল সার্ভার 2012 এক্সপ্রেসটিকে প্রাথমিক ডাটাস্টোর হিসাবে এম্বেড করার পরিকল্পনা করছি। আমার ডেভলপমেন্ট মেশিনে পরীক্ষা করার সময় (3 জিবি র‌্যামের সাথে विन 7-32), আমি sqlservr.exeপ্রকাশিত হার্ডওয়্যার স্কেলিং সীমাটি থেকে প্রত্যাশা করায় কখনই 1 জিবি র‌্যামের বেশি ব্যবহার করার প্রক্রিয়াটি আমি কখনও পর্যবেক্ষণ করি নি সার্ভারের এক্সপ্রেস সংস্করণের ।

তারপরে আমি তার অ্যাপ্লিকেশনটি একটি সার্ভার-গ্রেড মেশিনে প্রেরণ করেছি (উইন সার্ভার ২০০৮ আর ২ 16৪ বিট -১ bit বিট) এটির কার্যকারিতাটি মূল্যায়নের জন্য এবং সেখানে sqlservr.exeপ্রক্রিয়াটি প্রায় 9.5 গিগাবাইট র‌্যামে প্রসারিত হয়ে প্রসারিত হয়ে অবাক হয়ে গিয়েছিল।

এর কোনও প্রভাব আছে কিনা তা দেখার জন্য আমি কয়েকবার এটি পুনরায় শুরু করেছি, তবে প্রতিবার, প্রক্রিয়াটি দ্রুত ~ 9.5 জিবিতে ফিরে আসে। এসকিউএল সার্ভার এক্সপ্রেসটি আমার র‌্যামটি ব্যবহার করতে পেরে আমি এখন অবশ্যই সন্তুষ্ট, তবে আমি জানতে চাই যে এটি প্রত্যাশিত আচরণ কিনা যাতে আমি যে র‌্যাম ব্যবহারের উপর ভিত্তি করে পারফরম্যান্স স্তরের উপর নির্ভর করতে পারি না যা ভুল।

FYI, আমার সার্ভার মেশিনে এসকিউএল সার্ভারের সংস্করণ, অনুসারে SELECT @@VERSION:

Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) 
    Oct 19 2012 13:38:57 
    Copyright (c) Microsoft Corporation
    Express Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

আমার 9.5 জিবি নম্বরটি টাস্ক ম্যানেজারের "প্রাইভেট ওয়ার্কিং সেট" নম্বর থেকে এসেছে। থেকে আউটপুট প্রথম টেবিল DBCC memorystatus(বর্তমানে নিষ্ক্রিয় সার্ভারে তবুও) নীচে রয়েছে:

PROCESS/SYSTEM COUNTS
Available Physical Memory   5543616512
Available Virtual Memory    8734902411264
Available Paging File       22471094272
Working Set                 9664200704
Percent of Committed Memory in WS   99
Page Faults                 2627510
System physical memory high 1
System physical memory low  0
Process physical memory low 0
Process virtual memory low  0

স্প্যাগেটিডবার পরামর্শযুক্ত জিজ্ঞাসা থেকে আউটপুট এতে sys.dm_os_memory_clerks:

MEMORYCLERK_SQLBUFFERPOOL   1410
OBJECTSTORE_LOCK_MANAGER    256
MEMORYCLERK_SQLCLR          38
MEMORYCLERK_SOSNODE         26
CACHESTORE_SQLCP            11

প্লাস ~ 10 আরও ছোট এন্ট্রি যা 30MB এর চেয়ে কম হবে।

উত্তর:


12

এসকিউএল এক্সপ্রেস বাফার পুলের জন্য 1 জিবি সীমাবদ্ধ তবে এসকিউএল সার্ভারে আরও অনেক মেমরি পুল রয়েছে। আমি যেটা অবাক করে দেখি তা হ'ল নন-বাফার মেমরি পুলের অতিরিক্ত ব্যবহার। মেমোরি ক্লার্কের প্রতি মেমরির ব্যবহার সন্ধান করতে এটি চালান:

SELECT type, SUM(pages_kb)/1024 AS MemoryMB
FROM sys.dm_os_memory_clerks
GROUP BY type
ORDER BY 2 DESC

আশাকরি এটা সাহায্য করবে


এই ক্যোয়ারী থেকে আউটপুটটি হল: MEMORYCLERK_SQLBUFFERPOOL 1410 OBJECTSTORE_LOCK_MANAGER 256 MEMORYCLERK_SQLCLR 38 MEMORYCLERK_SOSNODE 26 CACHESTORE_SQLCP 11 এবং তারপরে <30MB এর সমষ্টি আরও কয়েকটি ছোট। আমার কাছে অদ্ভুত লাগছে। -আরগ- মন্তব্য বিন্যাসে।
ড্যান

হুম। MEMORYCLERK_SQLBUFFERPOOL একা 1GB সীমা ছাড়িয়ে গেছে, তাই আমরা একটি বাগের মুখোমুখি হতে পারি। আমি কী অদ্ভুত সন্ধান করি তা হল কীভাবে এটি 9.5 গিগাবাইটটি কোয়েরিতে না দেখিয়ে ব্যবহার করছে।
স্প্যাগেটিডবা

আমি sys.dm_os_memory_clerks (একক_ পৃষ্ঠাগুলি_কিবি এর পাশে) তে আরও কিছু আকর্ষণীয় কলাম রয়েছে বলে মনে করি: ভার্চুয়াল_মেমোরি_কমিত_কিবি MEMORYCLERK_SQLBUFFERPOOL এর ক্ষেত্রে আরও প্রাসঙ্গিক বলে মনে হচ্ছে।
রাজাওয়ান সোসোল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.