กระบวนการ mds ใน mac os บริการข้อมูลหลักสำหรับการจัดการข้อมูลหลัก ประวัติความเป็นมาของบริการข้อมูลหลักของ Microsoft SQL Server

💖 ชอบไหม?แชร์ลิงก์กับเพื่อนของคุณ

สวัสดีทุกคน! วันนี้ฉันอยากจะเล่าเรื่องราวอันไม่พึงประสงค์ที่เกิดขึ้นกับ MacBook ของฉันให้คุณฟัง และมันก็เกิดขึ้นเช่นนี้ในเย็นวันหนึ่งของฤดูหนาวฉันกำลังท่องอินเทอร์เน็ตเช่นเคยและทันใดนั้นฉันก็สังเกตเห็นว่า Mac ของฉันส่งเสียงหึ่งๆ อย่างคุกคาม - คูลเลอร์เริ่มทำงานอย่างเต็มประสิทธิภาพและส่งผลให้เคสเริ่มร้อนขึ้นมาก มาก.

นก - นี่คือนกชนิดไหน

ฉันเข้าสู่การตรวจสอบระบบทันทีและพบว่า 98% ของทรัพยากร CPU ถูกใช้โดย Bird บางตัว ตอนนี้งานคือการค้นหาว่าโปรแกรมใดใช้กระบวนการนี้และอะไรทำให้เกิดการใช้ทรัพยากรบน Mac ของฉัน แต่ก่อนอื่น ฉันแนะนำว่าบางทีปัญหาอาจสามารถแก้ไขได้ด้วยการบังคับยุติ Bird ซึ่งช่วยได้ประมาณ 2 นาที ขั้นตอนต่อไปคือการรีบูทคอมพิวเตอร์ - ก็ไร้ผลเช่นกัน

พบวิธีแก้ไขปัญหาในไซต์ชนชั้นกลางแห่งหนึ่งปรากฎว่างานของ "นก" เชื่อมโยงอยู่ด้วยเพื่อให้แน่ใจว่าฉันไปที่สิ่งนี้ การตั้งค่า > iCloudและยกเลิกการเลือกรายการนี้ จากนั้นรีบูท MacBook อีกครั้ง และ voila - การตรวจสอบระบบแสดงทรัพยากรว่าง 93%

ทุกอย่างยอดเยี่ยมถ้าฉันไม่สนใจ iCloud Drive นี้อย่างแน่นอน แต่ฉันเป็นหนึ่งในผู้ที่ปรับให้เข้ากับคุณสมบัติใหม่ของ Apple อย่างรวดเร็วและในอนาคตไม่สามารถทำได้หากไม่มีพวกเขาอีกต่อไปซึ่งหมายความว่าปัญหาต่อไปคือทำอย่างไร เปิดใช้งานไดรฟ์คลาวด์อีกครั้งในขณะนี้ที่เก็บข้อมูล แต่ไม่มี "นก" อยู่ที่นั่น พูดตามตรง ฉันไม่เคยรู้ว่าสาเหตุคืออะไร ฉันเพิ่งทำเครื่องหมายที่ช่องอีกครั้งหลังจากผ่านไปสองสามชั่วโมง และตั้งแต่นั้นมา ทุกอย่างก็ดูดีมาก :) เราจะถือว่านี่เป็นการปฏิเสธแบบลอยตัวและหากมีคนเข้าใจความแตกต่างนี้โดยละเอียดมากขึ้นอย่าลืมเขียนความคิดเห็นด้วย

mds, mds_stores, mdworker - สปอตไลท์ "ไอ้สารเลว"

กระบวนการต่อไปนี้ที่อาจทำให้เกิดปัญหาอันไม่พึงประสงค์มีชื่อว่า mds_stores, mdworker และ mds (ทั้งหมดมาจากกลุ่มเดียวกัน) อันที่จริงกระบวนการเหล่านี้เป็นกระบวนการที่มีเกียรติมากซึ่งมีหน้าที่รับผิดชอบในการจัดทำดัชนีข้อมูลบน Mac ซึ่งก็คือตามที่หลายคนคาดเดาไว้แล้วว่าพวกเขาร่วมมือโดยตรงกับ Spotlight แต่บางครั้งทรินิตี้นี้ (หรือแยกกัน) สามารถโหลดคอมพิวเตอร์ได้โดยไม่มีเหตุผลทำให้เหลือ RAM และทรัพยากรโปรเซสเซอร์ที่น่าสงสารเหลืออยู่

กระบวนการ Mac ใดที่ทำให้คุณประสบปัญหา และอย่าลืมเขียนความคิดเห็นเกี่ยวกับปัญหาอื่น ๆ ที่คุณพบและวิธีแก้ปัญหา ฉันคิดว่าทุกคนจะสนใจที่จะรู้

(MDS) ใน MS SQL Server 2012 จนกระทั่งเมื่อเร็ว ๆ นี้ฉันคุ้นเคยกับผลิตภัณฑ์นี้ซึ่งเป็นส่วนหนึ่งของ MS SQL Server 2012 (รุ่น Business Intelligence และ Enterprise) เฉพาะในทางทฤษฎีเท่านั้นและกำลังรอโอกาสที่ดีในการทดสอบในทางปฏิบัติและ บัดนี้ก็มีกรณีเช่นนี้เกิดขึ้นแล้ว

ป้อนข้อมูล

ลูกค้าของฉันใช้โซลูชัน BI ที่ใช้ Microsoft SQL Server 2012 Business Intelligence Edition ศูนย์กลางของระบบ BI นี้คือ Data Warehouse ซึ่งเต็มไปด้วยแพ็คเกจ SSIS จากระบบธุรกรรม (OLTP) คลังข้อมูลจะทำหน้าที่เป็นแหล่งข้อมูลสำหรับโมเดลข้อมูลหลายมิติ นักวิเคราะห์ลูกค้าสร้างรายงานใน Excel โดยใช้แบบจำลองข้อมูลหลายมิติโดยใช้ Pivot Table เนื่องจากมีแหล่งข้อมูลมากมาย และผู้ใช้ระบบธุรกรรมจัดการไดเร็กทอรีอย่างวุ่นวาย ลูกค้าจึงระบุถึงความจำเป็นสำหรับโซลูชันที่จะอนุญาตให้สร้างลำดับชั้นในคลังข้อมูลสำหรับบางมิติที่สะดวกสำหรับวัตถุประสงค์ในการวิเคราะห์ ตัวอย่างเช่น ข้อมูลเกี่ยวกับโครงสร้างองค์กรของบริษัทที่จัดเก็บไว้ในมิติ "แผนก" (ตาราง dbo.dimDivisions) ที่นำเข้าจากระบบ OLTP สะดวกสำหรับรายงานการปฏิบัติงานที่สร้างในระบบ OLTP แต่ไม่เหมาะสำหรับวัตถุประสงค์ในการวิเคราะห์ใน BI ระบบ .

ข้อกำหนดทางธุรกิจ

ข้อกำหนดอย่างเป็นทางการของลูกค้าธุรกิจสามารถอธิบายโดยย่อได้ดังนี้:
  • พัฒนาเครื่องมือที่ช่วยให้คุณจัดการข้อมูลเกี่ยวกับแผนกต่างๆ ของบริษัทเพื่อวัตถุประสงค์ในการรายงานเชิงวิเคราะห์
  • ใช้ข้อมูลแผนกใหม่ในโซลูชัน BI ที่มีอยู่
  • การเปลี่ยนแปลงไม่ควรส่งผลกระทบต่อการทำงานของระบบ OLTP

การประเมินเบื้องต้นและการเลือกแนวทางแก้ไข

จากข้อมูลอินพุตที่มีอยู่และข้อกำหนดทางธุรกิจ ลูกค้าได้รับโซลูชันต่อไปนี้:
  • เพิ่มมิติเพิ่มเติมให้กับคลังข้อมูลเพื่อจัดเก็บข้อมูลองค์กร โครงสร้างเพื่อวัตถุประสงค์ในการรายงานเชิงวิเคราะห์
  • ให้การเชื่อมต่อระหว่างเรกคอร์ดของมิติใหม่และมิติพนักงาน
  • เปลี่ยนโมเดลข้อมูลหลายมิติเพื่อคำนึงถึงการเปลี่ยนแปลงโครงสร้างของคลังข้อมูล
  • กำหนดค่าบริการข้อมูลหลัก การตั้งค่าหมายถึงการสร้างความสามารถในการป้อนและแก้ไขข้อมูลเกี่ยวกับพนักงานและแผนกต่างๆ ด้วยตนเอง รวมถึงการตั้งค่าที่จำเป็นในการนำเข้า/ส่งออกข้อมูลไปยัง/จาก MSD
  • รับประกันการนำเข้าข้อมูลพนักงานใหม่จากคลังข้อมูลไปยัง Master Data Services โดยอัตโนมัติ
  • รับประกันการส่งออกข้อมูลในแผนกและความเกี่ยวข้องของพนักงานไปยังแผนกต่างๆ จาก Master Data Services ไปยังคลังข้อมูลโดยอัตโนมัติ

การดำเนินการแก้ไขปัญหา

การปรับแต่งคลังข้อมูล
เอาล่ะไปตามลำดับกัน ขั้นแรก มาสร้างมิติใหม่ “แผนกที่กำหนดเอง” (dbo.dimDerivedDivisions) ในคลังข้อมูลและลิงก์กับมิติ “พนักงาน” (dbo.dimEmploees) สคริปต์ SQL สำหรับงานนี้มีลักษณะดังนี้:

มาสร้างมิติใหม่ "การแบ่งตามอำเภอใจ" สร้างตาราง dbo.dimDerivedDivisions (id int NOT NULL primary key identity(1, 1), parentId int NULL, sourceCode int NOT NULL, sourceParentCode int NULL, ชื่อ nvarchar(100) NOT NULL DEFAULT ( "N /A"), lineageDate datetime DEFAULT GETDATE(), lineageSource nvarchar(255) ไม่ใช่ NULL DEFAULT ("")); --กำหนดคีย์ต่างประเทศสำหรับ parentId ที่อ้างอิงถึง dbo.dimDerivedDivisions(id) เพื่อจัดให้มีลำดับชั้นพาเรนต์-ชายน์ แก้ไขตาราง dbo.dimDerivedDivisions เพิ่มข้อจำกัด fk_dbo_dimDerivedDivisions_dbo_dimDerivedDivisions FOREIGN KEY (parentId) การอ้างอิง dbo.dimDerivedDivisions(id); --เพิ่มค่าเริ่มต้นให้กับมิติใหม่ ซึ่งจะถูกอ้างอิงโดยพนักงานที่ไม่ได้กระจาย SET IDENTITY_INSERT dbo.dimDerivedDivisions ON; INSERT INTO dbo.dimDerivedDivisions (id, parentId, sourceCode, sourceParentCode, name, lineageDate, lineageSource) เลือก 0, NULL, 0, NULL, "N/A", GETDATE(), "บันทึกที่ป้อนด้วยตนเอง" โดยที่ไม่มีอยู่ (SELECT id จาก dbo.dimDerivedDivisions โดยที่ id = 0); ตั้งค่า IDENTITY_INSERT dbo.dimDerivedDivisions ปิด; --เพิ่มคอลัมน์ใหม่ลงในมิติ "พนักงาน" แก้ไขตาราง dbo.dimEmployees เพิ่มมาDivisionId int NOT NULL DEFAULT(0); --กำหนดคีย์ต่างประเทศที่อ้างอิงถึง dbo.dimDerivedDivisions(id) เปลี่ยนตาราง dbo.dimEmployees เพิ่มข้อจำกัด fk_dbo_dimEmployees_dbo_dimDerivedDivisions FOREIGN KEY (derivedDivisionId) ข้อมูลอ้างอิง dbo.dimDerivedDivisions(id);

การปรับแต่งแบบจำลองข้อมูลหลายมิติ
ตอนนี้เรามาเพิ่มมิติใหม่ให้กับโมเดลข้อมูลหลายมิติ เมื่อต้องการทำเช่นนี้ ให้เปิดโครงการแบบจำลองข้อมูลหลายมิติในเครื่องมือข้อมูลเซิร์ฟเวอร์ SQL และเพิ่มตารางใหม่ dbo.dimDerivedDivisions ลงในมุมมองแหล่งข้อมูล ผลลัพธ์มีลักษณะดังนี้:

เพื่อไม่ให้ไปไกลจากหัวข้อนี้ ผมจะอธิบายโดยย่อเกี่ยวกับกระบวนการสรุปโมเดลหลายมิติ ในโมเดลข้อมูลหลายมิติ เราสร้างมิติใหม่ "แผนกที่กำหนดเอง" กำหนดค่าการเชื่อมต่อของมิติใหม่กับตารางข้อเท็จจริงที่มีอยู่ผ่านมิติ "พนักงาน" ปรับใช้และประมวลผลคิวบ์:

การตั้งค่าบริการข้อมูลหลัก
ตอนนี้โครงสร้างข้อมูลทั้งหมดสำหรับการเตรียมการรายงานเชิงวิเคราะห์ในบริบทของมิติข้อมูล "มิติข้อมูลที่กำหนดเอง" ใหม่พร้อมแล้ว มาดูสิ่งที่สำคัญที่สุดกันดีกว่า - การตั้งค่าบริการข้อมูลหลัก ในการทำเช่นนี้ในเบราว์เซอร์เราจะไปตามลิงก์ที่ผู้ดูแลระบบเซิร์ฟเวอร์ SQL มอบให้และเราพบว่าตัวเองอยู่ในเว็บอินเตอร์เฟส MDS ซึ่งมีลักษณะดังนี้:

ฉันจะไม่ครอบคลุมถึงการติดตั้ง Master Data Services ที่นี่ เนื่องจากงานประจำนั้นมีรายละเอียดครอบคลุมอยู่ใน msdn.microsoft.com เรามาเน้นที่การปฏิบัติจริงของการใช้ MDS กันดีกว่า

ดังนั้นสิ่งแรกที่เราต้องทำคือสร้างแบบจำลอง โมเดลใน MDS คือคอนเทนเนอร์แบบลอจิคัลที่ประกอบด้วยเอนทิตีของธุรกิจบางประเภท ในกรณีของเรา เหมาะสมที่จะสร้างโมเดล "พนักงาน" ที่มีเอนทิตี "พนักงาน" และ "แผนก" หากต้องการสร้างแบบจำลอง ให้ไปที่เว็บอินเทอร์เฟซ Master Data Services ในงานการดูแลระบบโดยใช้ลิงก์การดูแลระบบ ในหน้าต่างที่เปิดขึ้น ให้ป้อนชื่อพนักงานโมเดลแล้วคลิกปุ่มบันทึกโมเดล:

เมื่อทำเครื่องหมายที่ช่องสร้างเอนทิตีที่มีชื่อเดียวกันกับแบบจำลอง เอนทิตีของพนักงานที่มีชื่อเดียวกันจะถูกสร้างขึ้นโดยอัตโนมัติพร้อมกับแบบจำลอง ต่อไป มาสร้างเอนทิตี "แผนก" อื่น โดยเลือกโมเดลพนักงานและไปที่เมนูจัดการ - เอนทิตี:

คลิกที่ปุ่มเพิ่มเอนทิตี:

ในกล่องโต้ตอบที่เปิดขึ้น ให้กรอกพารามิเตอร์ของเอนทิตีใหม่ และคลิกปุ่มบันทึกเอนทิตี โปรดทราบว่าเมื่อสร้างเอนทิตี "แผนก" ได้มีการเลือกช่องทำเครื่องหมายเปิดใช้งานลำดับชั้นและคอลเลกชันที่ชัดเจน (ซึ่งหมายความว่าจะสามารถสร้างลำดับชั้นสำหรับเอนทิตีได้) และด้านล่างเราจะระบุชื่อของลำดับชั้นของแผนก ลำดับชั้นที่ชัดเจนคือลำดับชั้นที่สามารถจัดระเบียบสมาชิกได้ไม่ว่าด้วยวิธีใดก็ตาม เช่น ในแต่ละระดับของลำดับชั้น สามารถมีสมาชิกจำนวนเท่าใดก็ได้และระดับการซ้อนต่อไปนี้:

หลังจากสร้างเอนทิตีแล้ว จำเป็นต้องกำหนดค่าแอตทริบิวต์เอนทิตี สำหรับเอนทิตี "พนักงาน" ให้เพิ่มแอตทริบิวต์ "แผนก" เลือกเอนทิตีพนักงาน และคลิกปุ่มแก้ไขเอนทิตีที่เลือก:

ในแบบฟอร์มการแก้ไขเอนทิตีที่เปิดขึ้น ให้คลิกปุ่มเพิ่มแอตทริบิวต์ leaf เพื่อเพิ่มแอตทริบิวต์ "แผนก" ขององค์ประกอบสุดท้ายของเอนทิตี "พนักงาน":

ในแบบฟอร์มสำหรับการเพิ่มแอตทริบิวต์ที่เปิดขึ้น ให้กรอกชื่อของแอตทริบิวต์และตั้งค่าสวิตช์ประเภทแอตทริบิวต์เป็นตามโดเมน ซึ่งหมายความว่าค่าของแอตทริบิวต์นี้จะเป็นของเอนทิตีเฉพาะและด้านล่างเราจะระบุว่าอันใดในกรณีของเราคือเอนทิตี "ดิวิชั่น" ในตอนท้าย ให้คลิกปุ่มบันทึกแอตทริบิวต์:

การป้อนข้อมูลด้วยตนเองลงใน Master Data Services
ดังนั้นโมเดล "พนักงาน" และเอนทิตี "พนักงาน" และ "แผนก" พร้อมแล้ว ตอนนี้เราต้องกรอกข้อมูลให้ครบถ้วน ผู้ใช้จะต้องกรอกเอนทิตี "แผนก" ด้วยตนเอง เพื่อสาธิตกระบวนการนี้ ไปที่หน้าหลักของเว็บอินเทอร์เฟซ Master Data Services ในส่วนย่อยงานของ Information Worker เลือกโมเดลพนักงานและไปที่ลิงก์ Explorer:

มาเลือกลำดับชั้น "ดิวิชั่น":

เรามาเลือกประเภทขององค์ประกอบที่เราต้องการจัดการ ขั้นแรก เรามาสร้างองค์ประกอบกลุ่มต่างๆ กัน (สมาชิกรวม):

คลิกปุ่มเพิ่ม ป้อนชื่อกลุ่มแผนก “ฝ่ายขาย” แล้วคลิกตกลง:

ในทำนองเดียวกันเราจะเพิ่มดิวิชั่นอื่น ๆ และสร้างโครงสร้างของดิวิชั่นดังรูปต่อไปนี้:

โปรดทราบว่ากลุ่มฝ่ายต่างๆ จะถูกเน้นด้วยตัวหนา และองค์ประกอบสุดท้ายจะอยู่ในรูปแบบที่ไม่เป็นตัวหนา ที่ระดับลำดับชั้นหนึ่ง สามารถมีได้ทั้งองค์ประกอบเหล่านี้และองค์ประกอบประเภทอื่นๆ

การนำเข้าข้อมูลเข้าสู่ Master Data Services
ตอนนี้ คุณต้องนำเข้าข้อมูลพนักงานไปยัง Master Data Services จากคลังข้อมูลที่มีอยู่ (สำหรับการจับคู่พนักงานและแผนกเพิ่มเติม และส่งออกข้อมูลนี้กลับไปยังคลังสินค้า) ในการโหลดข้อมูลลงใน MDS ในฐานข้อมูล SQL ที่ขับเคลื่อน Master Data Services จะมีตารางระดับกลางพิเศษ (Staging Tables) ซึ่งเราสามารถแทรกข้อมูลโดยใช้แบบสอบถาม SQL หรือสร้างแพ็คเกจ SSIS พิเศษที่จะนำเข้าบันทึกพนักงานใหม่จากข้อมูลที่จัดเก็บข้อมูล ลงในตารางชั่วคราวเพื่อการประมวลผลเพิ่มเติมใน Master Data Services มาเปิด SSMS และค้นหาตารางชั่วคราวในฐานข้อมูล Master Data Services พวกเขาอยู่ที่นี่:

ตามตัวอย่าง เราจะนำเข้าบันทึกของพนักงาน 10 รายการจากคลังข้อมูลไปยังตารางระดับกลางของฐานข้อมูล Master Data Services เมื่อต้องการทำเช่นนี้ เรียกใช้แบบสอบถาม SQL ต่อไปนี้:

ใส่ลงใน. (, , , , ) เลือก 10 อันดับแรก 1, 0, N"Employees_Leaf_Batch00001", E.id, E.name FROM .. E;

กลับไปที่อินเทอร์เฟซเว็บ Master Data Services และในหน้าหลักตามลิงก์ Intergation Management:

ในหน้าต่างที่เปิดขึ้นเราจะเห็นแพ็คเกจ Employees_Leaf_Batch00001 ซึ่งเพิ่งสร้างขึ้นโดยการสืบค้น SQL มาเปิดใช้งานโดยคลิกที่ปุ่มเริ่มแบทช์:

หลังจากประมวลผลแพ็กเกจแล้ว เราจะเห็นข้อมูลต่อไปนี้เกี่ยวกับสถานะ เวลาเริ่มต้นและสิ้นสุดของการดำเนินการ และข้อผิดพลาด:

การจัดการข้อมูลใน Master Data Services
ตอนนี้เข้าสู่โหมดการจัดการข้อมูลแล้วดูว่าบันทึกของพนักงานถูกโหลดจากตารางการแสดงละครอย่างไร หากต้องการทำสิ่งนี้ ให้ไปที่หน้าหลักของเว็บอินเทอร์เฟซ Master Data Services ในส่วนย่อยงานของ Information Worker เลือกโมเดลพนักงานแล้วไปที่ลิงก์ Explorer ในหน้าต่างที่เปิดขึ้น เราจะเห็นว่ามีการเพิ่มข้อมูลพนักงานใหม่ลงใน Master Data Services และอยู่ในสถานะรอการตรวจสอบ:

โปรดทราบว่าไม่มีการกรอกข้อมูลแผนกพนักงาน สำหรับพนักงานแต่ละคน เราต้องเลือกแผนกที่เขาทำงานอยู่และคลิกที่ปุ่มตกลง:

การส่งออกข้อมูลจาก Master Data Services
หลังจากป้อนข้อมูลในแผนกและความเกี่ยวข้องของพนักงานในแผนกต่างๆ แล้ว คุณจะต้องนำเข้าข้อมูลเหล่านั้นกลับเข้าไปในคลังข้อมูล ในการดำเนินการนี้ คุณจะต้องสร้างมุมมองพิเศษ (มุมมองการสมัครรับข้อมูล) ใน MDS ไปที่หน้าหลักของเว็บอินเตอร์เฟส Master Data Services ในส่วนย่อยงานการดูแลระบบตามลิงก์ Intergation Management:

ในหน้าต่างที่เปิดขึ้น ให้ไปที่เมนูสร้างมุมมองแล้วคลิกปุ่มเพิ่มมุมมองการสมัครรับข้อมูล:

กรอกพารามิเตอร์การนำเสนอสำหรับเอนทิตี "แผนก" แล้วคลิกปุ่มบันทึก:

มาสร้างมุมมองสำหรับเอนทิตี Employees ในลักษณะเดียวกัน:

ตอนนี้เรามาดูกันว่ามุมมองเหล่านี้คืออะไร และเราจะใช้มันได้อย่างไร ในความเป็นจริง ทุกอย่างค่อนข้างง่าย มุมมองใน MDS ไม่มีอะไรมากไปกว่ามุมมองที่เราคุ้นเคยในฐานข้อมูล SQL มาเปิด SSMS และตรวจสอบสิ่งนี้:

และสิ่งสุดท้ายที่ต้องทำเพื่อแก้ไขปัญหาคือการพัฒนาสคริปต์ SQL หรือแพ็คเกจ SSIS ที่ส่งออกข้อมูลจากมุมมอง MDS ไปยังคลังข้อมูล

ข้อสรุป

เราใช้เวลาทำงานประมาณแปดชั่วโมงในการนำโซลูชันนี้ไปใช้ ซึ่งสำหรับฉันแล้วดูเหมือนว่าเป็นเวลาเพียงพอสำหรับงานดังกล่าว ในโซลูชันที่อธิบายไว้ ฉันไม่ได้ใช้ความสามารถทั้งหมดของ Master Data Services เช่น ถูกละเลย

เป็นเครื่องมือค้นหาในตัวที่ช่วยให้คุณค้นหาเกือบทุกอย่างที่คุณใช้ภายใต้บัญชีของคุณ สำหรับสิ่งนี้ สร้างดัชนีสื่อทั้งหมดที่เชื่อมต่อกับ Mac ของคุณ ในบางกรณีเมนู แถบความคืบหน้าจะปรากฏขึ้นอย่างต่อเนื่อง เพื่อระบุว่าระบบกำลังสร้างดัชนีฮาร์ดไดรฟ์ ในกรณีนี้ในหน้าต่างตัวตรวจสอบกิจกรรมคุณจะพบกระบวนการ "mds" และ "md-worker" ซึ่งใช้ทรัพยากร CPU จำนวนมาก

สามารถจัดทำดัชนีฮาร์ดไดรฟ์ใหม่ได้หลังจากการอัปเดตระบบหลัก การกู้คืนจากการสำรองข้อมูล หรือหลังจากข้อผิดพลาดร้ายแรง เช่น การตื่นตระหนกของเคอร์เนลหรือการค้างที่แก้ไขโดยการรีบูตแบบบังคับ นี่เป็นกรณีมาตรฐานที่จำเป็นต้องดำเนินการสร้างดัชนี และเนื่องจากเป็นกระบวนการที่ค่อนข้างยาว จึงอาจใช้เวลาหลายชั่วโมง อย่างไรก็ตาม หากคุณพบกิจกรรมที่เพิ่มขึ้นของกระบวนการ "mds" และ "md-worker" และการจัดทำดัชนีอย่างต่อเนื่อง คุณควรให้ความสนใจกับปัญหานี้

ขั้นแรก ให้ลองล้างดัชนี ด้วยตนเอง มีสองวิธีในการทำเช่นนี้

รายการสปอตไลท์ความเป็นส่วนตัว

เลือกสปอตไลท์ใน การตั้งค่าระบบและเปิดแท็บความเป็นส่วนตัว จากนั้น ลากสื่อทั้งหมดของคุณลงในรายการแล้วลบออกทันที การดำเนินการนี้จะบังคับให้ระบบลบการจัดทำดัชนีสื่อ และสร้างใหม่หลังจากลบสื่อออกจากรายการ

เทอร์มินัล

สำหรับ มีหลายคำสั่งในนั้น เทอร์มินัลซึ่งสามารถใช้เพื่อลบและจัดทำดัชนีระบบของคุณใหม่ เมื่อต้องการทำเช่นนี้ ให้เปิด เทอร์มินัลและป้อนคำสั่งสามคำสั่งตามลำดับ:

mdutil -Ea
ปิด mdutil -ai
mdutil -ai เปิด

คำสั่งแรกจะลบการสร้างดัชนีของวอลุ่มทั้งหมดบนระบบ คำสั่งที่สองจะปิดใช้งานฟังก์ชันการจัดทำดัชนี และคำสั่งที่สามจะเปิดใช้งานกลับ รอจนกว่ากระบวนการจะเสร็จสิ้นและตรวจสอบว่าปัญหายังคงมีอยู่หรือไม่

โปรดทราบว่าการสร้างดัชนีดิสก์เป็นกระบวนการที่ใช้เวลานานและอาจใช้เวลาหลายชั่วโมง และไม่สามารถระบุได้ว่าปัญหาได้รับการแก้ไขหรือไม่จนกว่ากระบวนการจะเสร็จสมบูรณ์

หากวิธีการที่อธิบายไว้ข้างต้นไม่ให้ผลลัพธ์ที่เป็นบวกคุณควรตรวจสอบฮาร์ดไดรฟ์ ข้อผิดพลาดของระบบไฟล์อาจทำให้เกิดปัญหากับการเข้าถึงและการประมวลผลข้อมูล ซึ่งอาจทำให้ Spotlight สร้างดัชนีอย่างต่อเนื่อง ตรวจสอบว่าคุณมีการสำรองข้อมูลระบบของคุณครบถ้วนหรือไม่ (หากไม่ใช่ ต้องแน่ใจว่าได้สร้างขึ้นมา) จากนั้นจึงใช้งาน ยูทิลิตี้ดิสก์เพื่อตรวจสอบและซ่อมแซมดิสก์

  1. วิ่ง ยูทิลิตี้ดิสก์.
  2. ขณะที่กดปุ่ม ⌘Command ค้างไว้ ให้เลือกไดรฟ์ทั้งหมดที่เชื่อมต่อกับคอมพิวเตอร์ของคุณ
  3. ในแท็บการปฐมพยาบาล คลิกตรวจสอบดิสก์

หากตรวจพบข้อผิดพลาดระหว่างการสแกน ให้คลิก Fix disk หากเกิดข้อผิดพลาดบนพาร์ติชันสำหรับเริ่มระบบ คุณควรแก้ไขโดยการบูตจากพาร์ติชันการกู้คืน หากต้องการบู๊ตจากพาร์ติชั่นการกู้คืน ให้ปิดคอมพิวเตอร์แล้วเปิดใหม่โดยกด ⌘Command + R ค้างไว้

ขอขอบคุณ Christopher Kessler สำหรับต้นฉบับ

ไม่พบโพสต์ที่คล้ายกัน

"บทนำ ข้อกำหนดเบื้องต้น ข้อกำหนด ส่วนประกอบ ข้อกำหนดที่ใช้ บัฟเฟอร์ข้อความ การลงทะเบียนบัฟเฟอร์ กระบวนการ MDS กระบวนการไคลเอนต์ MDS รับสถิติการวัด น้ำ..."

การแนะนำ

ข้อกำหนดเบื้องต้น

ความต้องการ

ส่วนประกอบที่ใช้

ตำนาน

การบัฟเฟอร์ข้อความ

รีจิสทรีบัฟเฟอร์

กระบวนการเอ็มดีเอส

กระบวนการไคลเอนต์ MDS

รับสถิติการวัด

รอยน้ำ

อัปเดตหมายเหตุ

หมายเหตุการบำรุงรักษา

ข้อมูลเพิ่มเติม

การแนะนำ

เอกสารนี้อธิบายวิธีการวัดการลงทะเบียนการจัดสรรบัฟเฟอร์ข้อความ

บริการจัดส่ง (MDS) เพื่อตอบสนองทุกความต้องการในสภาพแวดล้อมองค์กร Cisco Intelligent Contact Management (ICM) / IP Contact Center (IPCC) เอกสารนี้ยังประกอบด้วยบันทึกการอัปเดตและการบำรุงรักษา

หมายเหตุ: เอกสารนี้ใช้ไม่ได้กับ ICM 7.0 เนื่องจากเครื่องมือการจัดการหน่วยความจำมีการเปลี่ยนแปลง

ข้อกำหนดเบื้องต้น

ส่วนประกอบ Cisco Enterprise ICM/IPCC q ที่ใช้ ข้อมูลที่มีอยู่ในเอกสารนี้อิงตามเวอร์ชันซอฟต์แวร์และฮาร์ดแวร์ต่อไปนี้:

เวอร์ชัน 4.6

2, 5.x และ 6 ICM องค์กร Cisco เอ็กซ์คิว เวอร์ชัน 4.6

2, 5.x และ 6 Cisco IPCC Enterprise x q ข้อมูลที่นำเสนอในเอกสารนี้ได้มาจากอุปกรณ์ที่ทำงานในสภาพแวดล้อมของห้องปฏิบัติการเฉพาะ อุปกรณ์ทั้งหมดที่อธิบายไว้ในเอกสารนี้เปิดตัวด้วยการกำหนดค่าใหม่ทั้งหมด (มาตรฐาน) บนเครือข่ายการผลิต ควรตรวจสอบผลกระทบที่อาจเกิดขึ้นจากคำสั่งทั้งหมดก่อนใช้งาน



ข้อตกลง หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับข้อตกลง โปรดดูข้อตกลงทางเทคนิคของ Cisco

การบัฟเฟอร์ข้อความ กระบวนการ MDS หนึ่งกระบวนการทำงานบนแต่ละด้านของเราเตอร์ Cisco ICM และ Peripheral Gateway (PG) กระบวนการเริ่มกระบวนการ Node Manager (NM) MDS กระบวนการ MDS มีคุณลักษณะการสลับข้อความสำหรับไคลเอ็นต์ที่ด้านข้างของระบบ

กระบวนการ MDS ยอมรับข้อความที่ไคลเอ็นต์ส่งและส่งต่อข้อความไปยังปลายทางที่เหมาะสม กระบวนการ MDS ใช้การเชื่อมต่อ External Message Transport (EMT) เพื่อสื่อสารกับไคลเอนต์แต่ละเครื่อง ซึ่งช่วยให้ไคลเอนต์อยู่บนโหนดใดก็ได้

ในระหว่างการทำงานของระบบตามปกติ ไคลเอนต์ MDS อ่านและประมวลผลข้อความเมื่อมาถึง เหตุการณ์ที่ผิดปกติ เช่น กระบวนการซิงโครไนซ์ใหม่ อาจทำให้ไคลเอ็นต์หนึ่งรายการขึ้นไปหยุดชั่วคราวเป็นระยะเวลาไม่มีกำหนด ในช่วงเวลาดังกล่าว ข้อความยังคงส่งถึงลูกค้า ในช่วงเวลาดังกล่าว ข้อความจะเข้าสู่คิวข้อความของลูกค้า เนื่องจากไคลเอนต์ยังคงอ่านข้อความขาเข้า โดยเฉลี่ย กระบวนการไคลเอนต์จะแลกเปลี่ยนข้อความเร็วกว่าที่ได้รับข้อความ ดังนั้นคิวอินพุตจึงลดลงเหลือศูนย์ในที่สุด

กระบวนการ MDS ดำเนินแผนการจัดการบัฟเฟอร์ เมื่อข้อความอยู่ในคิว จำนวนบัฟเฟอร์เต็มจะเพิ่มขึ้น เมื่อไคลเอนต์อ่านข้อความ ข้อความจะปล่อยให้คิวและหมายเลขบัฟเฟอร์ลดลง ขนาดคิวคือ 90% ของบัฟเฟอร์ที่มีอยู่ในพูลบัฟเฟอร์ เกณฑ์สูงสุดซึ่งสามารถกำหนดค่าได้ จะระบุจำนวนบัฟเฟอร์สูงสุดเพื่อจัดสรรให้กับข้อความในคิว ถ้าข้อความที่เข้าร่วมคิวทำให้บัฟเฟอร์เกินระดับขีดจำกัดสูง กระบวนการ MDS ล้มเหลวและหยุดลง

กระบวนการ MDS จะรักษากลุ่มบัฟเฟอร์ข้อความ สระว่ายน้ำมีสามขนาด ได้แก่ เล็ก กลาง และใหญ่ พูลเหล่านี้ยอมรับขนาดข้อความที่แตกต่างกัน บัฟเฟอร์ขนาดใหญ่มีขนาดใหญ่พอที่จะเก็บขนาดข้อความสูงสุดได้ ระบบจะจัดสรรบัฟเฟอร์ข้อความจากหน่วยความจำส่วนกลางของกระบวนการตามความจำเป็น เมื่อไม่จำเป็นต้องใช้บัฟเฟอร์อีกต่อไป ระบบจะปล่อยบัฟเฟอร์กลับไปยังหน่วยความจำส่วนกลางของกระบวนการ

กระบวนการ MDS ของรีจิสทรีบัฟเฟอร์ สำหรับกระบวนการ MDS ต่อไปนี้คือเส้นทางการนำทางสำหรับรีจิสทรีบัฟเฟอร์ที่จัดสรรสูงสุด

Cisco ICM เวอร์ชัน 4.6.2:

ตัวอย่างเช่น รูปที่ 1 แสดงคีย์รีจิสทรีสำหรับ BufferLimit และ BufferMaxFree สำหรับกระบวนการ MDS บน PG1A ใน Cisco ICM/IPCC เวอร์ชัน 5.x และ 6 x.

ภาพที่ 1? MDS Process Registry สำหรับ BufferLimit และ BufferMaxFree กระบวนการ MDS Client สำหรับไคลเอ็นต์ MDS ต่อไปนี้เป็นพาธการนำทางสำหรับรีจิสทรีบัฟเฟอร์ที่จัดสรรสูงสุดใน

Cisco ICM เวอร์ชัน 4.6.2:

นี่คือเส้นทางการนำทางสำหรับรีจิสทรีบัฟเฟอร์ที่จัดสรรสูงสุดในเวอร์ชัน Cisco ICM

ตัวอย่างเช่น รูปที่ 2 แสดงคีย์รีจิสทรีสำหรับ BufferLimit และ BufferMaxFree สำหรับกระบวนการ pgag บน PG1A ใน Cisco ICM/IPCC เวอร์ชัน 5.x และ 6 x.

ข้าว. 2? MDS Client Process Registry สำหรับ BufferLimit และ BufferMaxFree รับสถิติการวัด คุณสามารถใช้คำสั่ง dumplog ร่วมกับ /argument/bin เพื่อรับสถิติบัฟเฟอร์

เพื่อให้ได้ข้อมูลที่เพียงพอ จำเป็นต้องรวบรวมความสำคัญของข้อมูลอย่างน้อยสองชั่วโมงเพื่อแสดงค่าทางสถิติ เพื่อทำความเข้าใจสถิติ คุณต้องรวบรวมข้อมูลอย่างน้อยหนึ่งสัปดาห์ในช่วงที่มีปริมาณการเข้าชมสูง

นี่คือตัวอย่างของคำสั่ง dumplog ที่สามารถเรียกใช้เพื่อรวบรวมข้อมูล MDS สองชั่วโมง:

C:\icm\lab60\ra\logfilesdumplog mds /bin /hr 2

นี่คือผลลัพธ์บางส่วนของคำสั่ง dumplog:

ลายน้ำ ส่วนแรกของสถิติแสดงถึงเครื่องหมายสำหรับวางบัฟเฟอร์

ข้าว. 3? สถิติพูลบัฟเฟอร์

นี่คือค่าและพื้นที่ของบางคำที่รายงานนี้ใช้:

บัฟเฟอร์ที่จัดสรรสูงสุดแสดงถึงจำนวนบัฟเฟอร์ที่ใช้งานอยู่ (ดู

q สี่เหลี่ยมสีชมพูในรูปที่ 3)

(เล็ก) Freelist Max แสดงถึงบัฟเฟอร์ในการใช้งานที่ได้รับการจัดสรรจาก q Freelist ขนาดเล็ก (ดูสี่เหลี่ยมสีเขียวในรูปที่ 3)

Freelist Max (สภาพแวดล้อม) แสดงถึงบัฟเฟอร์ที่ใช้งานซึ่งจัดสรรจาก Freelist Average (ดูสี่เหลี่ยมสีน้ำเงินในรูปที่ 3)

(ใหญ่) Freelist Max แสดงถึงบัฟเฟอร์ในการใช้งานที่ได้รับการจัดสรรจาก q Large Freelist (ดูสี่เหลี่ยมสีดำในรูปที่ 3)

รายงานนี้แสดงภาพตำแหน่งบัฟเฟอร์ในชั่วโมงที่ผ่านมา

ใช้รายงานนี้เป็นเวลาหนึ่งหรือสองสัปดาห์เพื่อตรวจสอบว่าบัฟเฟอร์การจัดสรรรีจิสทรีสูงสุดเพียงพอสำหรับการกำหนดข้อความหรือไม่

ข้อกำหนดบัฟเฟอร์ MDS สองข้อ:

–  –  –

สำหรับ ICM เวอร์ชัน 4.6.2 นี่คือพาธการนำทางสำหรับรีจิสเตอร์บัฟเฟอร์ที่จัดสรรสูงสุด:

เหตุการณ์ตั้งแต่วันที่ 20 กันยายน 2548:11:51:06 น. ra-mds MDS Process กำลังรายงานสถิติการวัดแสงโดยรวมเป็นระยะ *** สถิติพูลบัฟเฟอร์ *** บัฟเฟอร์ปัจจุบัน / สูง / สูงสุดที่จัดสรร = 374 / 397 / 65536 รายการอิสระปัจจุบัน / สูง / สูงสุด (เล็ก) = 344 / 345 / 400 ปัจจุบัน / สูง / สูงสุดรายการอิสระ (กลาง) = 10 / 10 / 10 รายการอิสระปัจจุบัน / สูง / สูงสุด (ใหญ่) = 5 / 5 / 5 การจัดสรรบัฟเฟอร์เล็ก / กลาง / ใหญ่ / รวม = 18938158 / 1043172 / 4749 / 19986079 การจัดสรรจากรายการอิสระเล็ก / กลาง / ใหญ่ / รวม = 18937799 / 1042064 / 4742 / 19984605 ปล่อยบัฟเฟอร์เล็ก / กลาง / ใหญ่ / รวม = 22322177 / 1060637 / 5161 / 23387975 ปล่อยบัฟเฟอร์ฟรีเล็ก / กลาง / ใหญ่ / รวม = 18938143 / 1042074 / 4747 / 19984964 Dups = 3401911 *** สถิติการซิงโครไนซ์ *** รวม ข้อความ สั่งซื้อ = 4292869 ซ้ำ MDS = 308 ซ้ำ DMP = 0 msgs / ไบต์อินพุตที่มีลำดับความสำคัญต่ำในเครื่อง = 1119811 / 107490676 คิวอินพุตปัจจุบัน msgs / ไบต์ = 0 / 0 คิวอินพุตสูงสุด msgs / ไบต์ = 12 / 3136 msgs / ไบต์อินพุตที่มีลำดับความสำคัญสูงในเครื่อง = 848853/24508284 คิวอินพุตปัจจุบัน msgs / ไบต์ = 0/0 คิวอินพุตสูงสุด msgs / ไบต์ = 2/148 msgs / ไบต์อินพุตลำดับความสำคัญปานกลางในเครื่อง = 61373/3017131 คิวอินพุตปัจจุบัน msgs / ไบต์ = 0/0 คิวอินพุตสูงสุด msgs / ไบต์ = 7/11480 ข้อความ / ไบต์อินพุตลำดับความสำคัญต่ำระยะไกล = 131595 / 9598544 ข้อความ / คิวอินพุตปัจจุบัน ข้อความ / ไบต์ = 0 / 0 ข้อความ / คิวอินพุตสูงสุดในคิว = 15/2472 ข้อความ / ไบต์อินพุตลำดับความสำคัญสูงระยะไกล = 6236914 / 65565092 ข้อความคิวอินพุตปัจจุบัน / ไบต์ = 0 / 0 คิวอินพุตสูงสุด msgs / ไบต์ = 8 / 228 ลำดับความสำคัญปานกลางระยะไกล อินพุต msgs / ไบต์ = 318 / 52698 คิวอินพุตปัจจุบัน msgs / ไบต์ = 0/0 คิวอินพุตสูงสุด msgs / ไบต์ = 3 / 7476 ลำดับความสำคัญต่ำระยะไกล ข้อความเอาท์พุต / ไบต์ = 1118701/107385640 ข้อความคิวเอาท์พุตปัจจุบัน msgs / ไบต์ = 0/0 คิวเอาท์พุตสูงสุด msgs / ไบต์ = 8 / 3136 ข้อความเอาท์พุตที่มีลำดับความสำคัญสูงระยะไกล / ไบต์ = 4301262/93354648 คิวเอาท์พุตปัจจุบัน ข้อความ / ไบต์ = 0 / 0 สูงสุด คิวเอาต์พุต msgs / ไบต์ = 7/204 เอาต์พุตลำดับความสำคัญปานกลางระยะไกล msgs / ไบต์ = 61289/3012988 คิวเอาต์พุตปัจจุบัน msgs / ไบต์ = 0 / 0 คิวเอาต์พุตสูงสุด msgs / ไบต์ = 5/7476 คิวการสั่งซื้อลำดับความสำคัญต่ำในท้องถิ่นปัจจุบัน msgs / ไบต์ = 0/0 msgs / ไบต์สูงสุด = 16/3168 คิวการสั่งซื้อลำดับความสำคัญสูงในท้องถิ่นปัจจุบัน msgs / ไบต์ = 0 / 0 msgs / ไบต์สูงสุด = 0 / 0 คิวการสั่งซื้อลำดับความสำคัญปานกลางในเครื่องปัจจุบัน msgs / ไบต์ = 0/0 msgs / ไบต์สูงสุด = 7/11524 คิวการสั่งซื้อลำดับความสำคัญต่ำระยะไกลปัจจุบัน msgs / ไบต์ = 0 / 0 msgs / ไบต์สูงสุด = 0 / 0 คิวการสั่งซื้อลำดับความสำคัญสูงระยะไกลปัจจุบัน ข้อความ / ไบต์ = 0 / 0 msgs / ไบต์สูงสุด = 0 / 0 การสั่งซื้อลำดับความสำคัญปานกลางระยะไกลปัจจุบัน คิว msgs / ไบต์ = 0 / 0 msgs / ไบต์สูงสุด = 0 / 0 คิวการจัดส่งตามกำหนดเวลาที่มีลำดับความสำคัญต่ำในปัจจุบัน msgs / ไบต์ = 0 / 0 msgs / ไบต์สูงสุด = 336/32736 คิวการจัดส่งตามกำหนดเวลาที่มีลำดับความสำคัญสูงในปัจจุบัน msgs / ไบต์ = 0 / 0 ข้อความ / ไบต์สูงสุด = 0 / 0 คิวการจัดส่งตามลำดับความสำคัญปานกลางในปัจจุบัน ข้อความ / ไบต์ = 0 / 0 ข้อความ / ไบต์สูงสุด = 32 / 24416 อัตรานาฬิกาเร็ว / ช้า / ปกติ = 0 / 0 / 0 เอาต์พุตรอ / แจ้งเตือน = 2641679 / 2642109 *** สถิติการโอนสถานะ *** ความพยายาม / สำเร็จ = 11 / 11 ไบต์ที่ได้รับ / ส่ง = 383710 / 118572711:51:06 ra-mds กระบวนการ MDS กำลังรายงานเมตรสรุปต่อไคลเอ็นต์เป็นระยะ ๆ

*** สถิติไคลเอนต์ 128 *** เชื่อมต่อ / ตัดการเชื่อมต่อ = 0 / 0 ข้อความ / ไบต์ที่ได้รับจากไคลเอนต์ = 0 / 0 ข้อความ / ไบต์ที่ส่งไปยังไคลเอนต์ = 0 / 0 คิวเอาต์พุตปัจจุบัน msgs / ไบต์ = 0 / 0 msgs / ไบต์สูงสุด = 0 / 0....11:51:06 ra-mds MDS Process กำลังรายงานเมตรสรุปต่อลูกค้าเป็นระยะ *** สถิติไคลเอนต์ 70 *** เชื่อมต่อ / ตัดการเชื่อมต่อ = 0 / 0 ข้อความ / ไบต์ที่ได้รับจากไคลเอนต์ = 0 / 0 ข้อความ / ไบต์ที่ส่งไปยังไคลเอนต์ = 0 / 0 คิวเอาต์พุตปัจจุบัน msgs / ไบต์ = 0 / 0 msgs / ไบต์สูงสุด = 0 / 0..

นี่คือกุญแจ:

BufferLimitBufferLimit ระบุบัฟเฟอร์ที่จัดสรรสูงสุด (ดูลูกศรใน q รูปที่ 1 และ รูปที่ 2)

BufferMaxFreeBufferMaxFree แสดงถึงรายการอิสระสูงสุดที่จัดสรร (ดูลูกศร B q ในรูปที่ 1 และรูปที่ 2)

ข้อมูลที่สำคัญที่สุดในสถิติการวัดคือค่าของบัฟเฟอร์การจัดสรรสูง (ดูรูปที่ 3) เป้าหมายควรรักษาค่าระหว่าง 65% ถึง 75% ของบัฟเฟอร์ที่จัดสรรสูงสุด เมื่อใดก็ได้ในช่วงเวลาที่เลือก หากตัวเลขสูงกว่า 75% คุณต้องเพิ่มค่าเป็นสองเท่าใน BufferLimit

หมายเหตุ: ค่าจะเป็นกำลังสองเสมอ

ข้อความแสดงข้อผิดพลาดการจัดสรรบัฟเฟอร์

เมื่อพูลบัฟเฟอร์ว่างเปล่า กระบวนการจบการทำงาน ไฟล์บันทึกจะแสดงข้อความนี้:

เหตุการณ์ตั้งแต่วันที่ 20 กันยายน 2548:11:51:06 น. ra-mds MDS Process กำลังรายงานสถิติการวัดแสงโดยรวมเป็นระยะ *** สถิติพูลบัฟเฟอร์ *** บัฟเฟอร์ปัจจุบัน / สูง / สูงสุดที่จัดสรร = 374 / 397 / 65536 รายการอิสระปัจจุบัน / สูง / สูงสุด (เล็ก) = 344 / 345 / 400 ปัจจุบัน / สูง / สูงสุดรายการอิสระ (กลาง) = 10 / 10 / 10 รายการอิสระปัจจุบัน / สูง / สูงสุด (ใหญ่) = 5 / 5 / 5 การจัดสรรบัฟเฟอร์เล็ก / กลาง / ใหญ่ / รวม = 18938158 / 1043172 / 4749 / 19986079 การจัดสรรจากรายการอิสระเล็ก / กลาง / ใหญ่ / รวม = 18937799 / 1042064 / 4742 / 19984605 ปล่อยบัฟเฟอร์เล็ก / กลาง / ใหญ่ / รวม = 22322177 / 1060637 / 5161 / 23387975 ปล่อยบัฟเฟอร์ฟรีเล็ก / กลาง / ใหญ่ / รวม = 18938143 / 1042074 / 4747 / 19984964 Dups = 3401911 *** สถิติการซิงโครไนซ์ *** รวม ข้อความ สั่งซื้อ = 4292869 ซ้ำ MDS = 308 ซ้ำ DMP = 0 msgs / ไบต์อินพุตที่มีลำดับความสำคัญต่ำในเครื่อง = 1119811 / 107490676 คิวอินพุตปัจจุบัน msgs / ไบต์ = 0 / 0 คิวอินพุตสูงสุด msgs / ไบต์ = 12 / 3136 msgs / ไบต์อินพุตที่มีลำดับความสำคัญสูงในเครื่อง = 848853/24508284 คิวอินพุตปัจจุบัน msgs / ไบต์ = 0/0 คิวอินพุตสูงสุด msgs / ไบต์ = 2/148 msgs / ไบต์อินพุตลำดับความสำคัญปานกลางในเครื่อง = 61373/3017131 คิวอินพุตปัจจุบัน msgs / ไบต์ = 0/0 คิวอินพุตสูงสุด msgs / ไบต์ = 7/11480 ข้อความ / ไบต์อินพุตลำดับความสำคัญต่ำระยะไกล = 131595 / 9598544 ข้อความ / คิวอินพุตปัจจุบัน ข้อความ / ไบต์ = 0 / 0 ข้อความ / คิวอินพุตสูงสุดในคิว = 15/2472 ข้อความ / ไบต์อินพุตลำดับความสำคัญสูงระยะไกล = 6236914 / 65565092 ข้อความคิวอินพุตปัจจุบัน / ไบต์ = 0 / 0 คิวอินพุตสูงสุด msgs / ไบต์ = 8 / 228 ลำดับความสำคัญปานกลางระยะไกล อินพุต msgs / ไบต์ = 318 / 52698 คิวอินพุตปัจจุบัน msgs / ไบต์ = 0/0 คิวอินพุตสูงสุด msgs / ไบต์ = 3 / 7476 ลำดับความสำคัญต่ำระยะไกล ข้อความเอาท์พุต / ไบต์ = 1118701/107385640 ข้อความคิวเอาท์พุตปัจจุบัน msgs / ไบต์ = 0/0 คิวเอาท์พุตสูงสุด msgs / ไบต์ = 8 / 3136 ข้อความเอาท์พุตที่มีลำดับความสำคัญสูงระยะไกล / ไบต์ = 4301262/93354648 คิวเอาท์พุตปัจจุบัน ข้อความ / ไบต์ = 0 / 0 สูงสุด คิวเอาต์พุต msgs / ไบต์ = 7/204 เอาต์พุตลำดับความสำคัญปานกลางระยะไกล msgs / ไบต์ = 61289/3012988 คิวเอาต์พุตปัจจุบัน msgs / ไบต์ = 0 / 0 คิวเอาต์พุตสูงสุด msgs / ไบต์ = 5/7476 คิวการสั่งซื้อลำดับความสำคัญต่ำในท้องถิ่นปัจจุบัน msgs / ไบต์ = 0/0 msgs / ไบต์สูงสุด = 16/3168 คิวการสั่งซื้อลำดับความสำคัญสูงในท้องถิ่นปัจจุบัน msgs / ไบต์ = 0 / 0 msgs / ไบต์สูงสุด = 0 / 0 คิวการสั่งซื้อลำดับความสำคัญปานกลางในเครื่องปัจจุบัน msgs / ไบต์ = 0/0 msgs / ไบต์สูงสุด = 7/11524 คิวการสั่งซื้อลำดับความสำคัญต่ำระยะไกลปัจจุบัน msgs / ไบต์ = 0 / 0 msgs / ไบต์สูงสุด = 0 / 0 คิวการสั่งซื้อลำดับความสำคัญสูงระยะไกลปัจจุบัน ข้อความ / ไบต์ = 0 / 0 msgs / ไบต์สูงสุด = 0 / 0 การสั่งซื้อลำดับความสำคัญปานกลางระยะไกลปัจจุบัน คิว msgs / ไบต์ = 0 / 0 msgs / ไบต์สูงสุด = 0 / 0 คิวการจัดส่งตามกำหนดเวลาที่มีลำดับความสำคัญต่ำในปัจจุบัน msgs / ไบต์ = 0 / 0 msgs / ไบต์สูงสุด = 336/32736 คิวการจัดส่งตามกำหนดเวลาที่มีลำดับความสำคัญสูงในปัจจุบัน msgs / ไบต์ = 0 / 0 ข้อความ / ไบต์สูงสุด = 0 / 0 คิวการจัดส่งตามลำดับความสำคัญปานกลางในปัจจุบัน ข้อความ / ไบต์ = 0 / 0 ข้อความ / ไบต์สูงสุด = 32 / 24416 อัตรานาฬิกาเร็ว / ช้า / ปกติ = 0 / 0 / 0 เอาต์พุตรอ / แจ้งเตือน = 2641679 / 2642109 *** สถิติการโอนสถานะ *** ความพยายาม / สำเร็จ = 11 / 11 ไบต์ที่ได้รับ / ส่ง = 383710 / 118572711:51:06 ra-mds กระบวนการ MDS กำลังรายงานเมตรสรุปต่อไคลเอ็นต์เป็นระยะ ๆ

*** สถิติไคลเอนต์ 128 *** เชื่อมต่อ / ตัดการเชื่อมต่อ = 0 / 0 ข้อความ / ไบต์ที่ได้รับจากไคลเอนต์ = 0 / 0 ข้อความ / ไบต์ที่ส่งไปยังไคลเอนต์ = 0 / 0 คิวเอาต์พุตปัจจุบัน msgs / ไบต์ = 0 / 0 msgs / ไบต์สูงสุด = 0 / 0....11:51:06 ra-mds MDS Process กำลังรายงานเมตรสรุปต่อลูกค้าเป็นระยะ *** สถิติไคลเอนต์ 70 *** เชื่อมต่อ / ตัดการเชื่อมต่อ = 0 / 0 ข้อความ / ไบต์ที่ได้รับจากไคลเอนต์ = 0 / 0 ข้อความ / ไบต์ที่ส่งไปยังไคลเอนต์ = 0 / 0 คิวเอาต์พุตปัจจุบัน msgs / ไบต์ = 0 / 0 msgs / ไบต์สูงสุด = 0 / 0..

หมายเหตุ: xxxx หมายถึงจำนวนบัฟเฟอร์ เช่น 1024, 2048, 4096 เป็นต้น

ใช้ Dumplog Utility เพื่อดูไฟล์บันทึก

บัฟเฟอร์พูลหมดลง: ตัวอย่างที่ 1 บันทึกนี้ให้ตัวอย่างของกระบวนการ MDS lgr ที่ใช้บัฟเฟอร์หมด (ดูลูกศรในรูปที่ 4)

ข้าว. 4? LGR MDS Process Dumplog ขยาย BufferLimit ปัจจุบันเพื่อแก้ไขปัญหา อย่างไรก็ตาม มีความจำเป็นต้องตรวจสอบกระบวนการเพื่อให้แน่ใจว่าไม่มีข้อผิดพลาดถูกส่งกลับ

บัฟเฟอร์พูลหมด: กรณีที่ 2 ในบางกรณี ข้อความแสดงข้อผิดพลาดปรากฏขึ้น แต่การขยาย BufferLimit ปัจจุบันไม่สามารถแก้ปัญหาได้ ข้อความแสดงข้อผิดพลาดนี้เป็นเพียงอาการเท่านั้น

ตัวอย่างเช่น ชุดบันทึกจะถูกบันทึกก่อนที่กระบวนการ MDS จะหยุดลง บันทึกเหล่านี้รายงานจำนวนบัฟเฟอร์ที่จัดสรรให้กับไคลเอนต์ MDS

โดยทั่วไปแล้ว จำนวนนี้เพียงพอสำหรับคุณในการจำกัดปัญหาบางอย่างในไคลเอนต์ที่ไม่เกี่ยวข้องกับตำแหน่งบัฟเฟอร์ให้แคบลง

ข้าว. 5? MDS Process Dumplog ตัวอย่างในรูปที่ 5 ระบุว่ามีข้อความ 4085 อยู่ในคิวสำหรับกระบวนการ Open Peripheral Controller (OPC) และไคลเอ็นต์อื่นๆ ทั้งหมดไม่มีการจัดสรรบัฟเฟอร์ ตัวอย่างนี้แสดงให้เห็นว่า กระบวนการ OPC เป็นสาเหตุของปัญหา ไม่ใช่ขนาดการจัดสรรบัฟเฟอร์สูงสุด

หมายเหตุการอัพเกรด บางครั้งเมื่อคุณทำการอัพเกรดหรือทำการเปลี่ยนแปลงที่สำคัญกับระบบ บัฟเฟอร์พูลถึงขีดจำกัด ตัวอย่างเช่น เมื่อคุณเพิ่มอุปกรณ์ต่อพ่วง พูลบัฟเฟอร์อาจถึงขีดจำกัด เพื่อป้องกันปัญหานี้ เพิ่มขีดจำกัดของพูลบัฟเฟอร์

ก่อนที่จะอัปเกรดจาก 4.6.2 เป็น 5.0 หรือ 6.0 Cisco ขอแนะนำให้คุณเพิ่มการตั้งค่า BufferLimit และ BufferMaxFree เป็นสองเท่า (ดูรูปที่ 1) เมื่อคุณอัพเกรดจาก 5.0 เป็น 6.0 คุณไม่ควรเพิ่มการตั้งค่า BufferLimit เป็นสองเท่าในขณะที่เพิ่มการตั้งค่าเป็นสองเท่าเมื่อคุณอัพเกรดจาก 4.6.2 เป็น 5.0 หากคุณไม่แน่ใจว่าคุณได้เพิ่มค่า BufferLimit ในระหว่างการอัปเดตครั้งก่อนหรือไม่ ให้ตรวจสอบสถิติการใช้บัฟเฟอร์ที่ไฮไลต์ใน Get Measuring Statistics เพื่อพิจารณาว่าจำเป็นต้องเพิ่มบัฟเฟอร์หรือไม่

หมายเหตุ: หน่วยความจำรั่วไม่ได้เป็นปัญหาเนื่องจากบัฟเฟอร์ที่ระบุโดย BufferLimit (ยกเว้นที่อยู่ในรายการหน่วยความจำว่าง) จะไม่มีการจัดสรรล่วงหน้า นอกจากนี้ บัฟเฟอร์จะถูกปล่อยไปยังฮีปของระบบในที่สุด อย่างไรก็ตาม BufferLimit ที่มีขนาดใหญ่มาก (สัมพันธ์กับ RAM ของระบบที่มีอยู่) สามารถปกปิดความแออัดของการสื่อสารและทำให้ระบบทั้งหมดช้าลง ในบางสถานการณ์ ทางออกที่ดีที่สุดคือการยืนยันกระบวนการเมื่อถึง BufferLimit แล้ว และอาศัยการออกแบบที่ทนทานต่อข้อผิดพลาดของระบบสำหรับการเปลี่ยนระบบเมื่อเกิดข้อผิดพลาด โดยคำนึงถึงข้อจำกัดด้านทรัพยากรที่เป็นไปได้ สาขากิจกรรมสร้างความมั่นใจในแรงจูงใจในการเลือกอาชีพของครูนักจิตวิทยา การสร้างภาพลักษณ์ทั่วไปของครู-นักจิตวิทยา-มืออาชีพ ทัศนคติต่อมืออาชีพ..." การถอดความและปฏิกิริยาลูกโซ่โพลีเมอเรส (RT-PCR) จาก-HEPATOGENE-S ใบรับรองการลงทะเบียนเชิงปริมาณ หมายเลข FSR 2008/03508 โปรดทราบ!.. ”

"โปรแกรมการศึกษาของประชาชนในยูเครนและคำแนะนำด้านระเบียบวิธีสำหรับการสำเร็จการฝึกปฏิบัติทางจิตวิทยาและการสอนเบื้องต้นสำหรับนักศึกษาชั้นปีที่ 1 ของคณะสำนักพิมพ์การจัดการสังคม ... "

"1. โครงร่างโดยย่อของโปรแกรม โปรแกรมประกอบด้วยข้อมูลเกี่ยวกับขั้นตอนการดำเนินการสอบเข้าบัณฑิตวิทยาลัยในสาขาการศึกษา 06/44/01 ศึกษาศาสตร์และการสอนศาสตร์ เน้น “ทฤษฎีและวิธีการจัดการเรียนการสอน (ภาษาต่างประเทศ)” โปรแกรมนี้ตอบโจทย์ผู้สำเร็จการศึกษา…”

“เด็กที่มีความเสี่ยงและทำงานร่วมกับพวกเขาในสถานศึกษาก่อนวัยเรียน ครอบครัวที่ไม่สมบูรณ์ไม่เพียงแต่เป็นครอบครัวของพ่อแม่ที่หย่าร้างเท่านั้น แต่ยังรวมถึงครอบครัวที่สูญเสียคนหาเลี้ยงครอบครัว ครอบครัวของแม่เลี้ยงเดี่ยว รวมถึงผู้หญิงที่ตัดสินใจ เพื่ออุปถัมภ์...”
เนื้อหาบนเว็บไซต์นี้โพสต์เพื่อวัตถุประสงค์ในการให้ข้อมูลเท่านั้น สิทธิ์ทั้งหมดเป็นของผู้เขียน
หากคุณไม่ยอมรับว่าเนื้อหาของคุณถูกโพสต์บนเว็บไซต์นี้ โปรดเขียนถึงเรา เราจะลบเนื้อหาดังกล่าวออกภายใน 1-2 วันทำการ

ใช้เวลาศึกษาพฤติกรรมของยูทิลิตี้การจัดทำดัชนี Spotlight ใน Mac OS X Lion

แต่ก่อนอื่นเล็กน้อยเกี่ยวกับปัญหา Spotlight จัดทำดัชนีทุกอย่าง (ยกเว้นสิ่งต้องห้ามอย่างชัดเจน) ซึ่งสร้างภาระบนโปรเซสเซอร์และดิสก์ คำถามที่ว่าอะไรมีค่ามากกว่ากัน - พลังงานแบตเตอรี่แล็ปท็อปและทรัพยากรการเขียน SSD ใหม่หรือความสะดวกสบายที่ไม่ต้องสงสัยของ Spotlight ได้กลายเป็นคำถามคลาสสิกไปแล้ว

ฉันจะบอกทันทีว่าฉันสามารถทำได้โดยไม่ต้องใช้ Spotlight (โรงเรียนเก่าสอนให้ฉันจัดระเบียบข้อมูลทั้งหมดด้วยตนเอง) และมีวิธีปิดการค้นหาภายในบนคอมพิวเตอร์ แต่นั่นจะง่ายเกินไป นอกจากนี้ ฉันไม่เพียงแต่ใช้ดัชนี Spotlight เท่านั้น แต่ยังรวมถึงบางโปรแกรมที่ติดตั้งบนคอมพิวเตอร์ของฉันด้วย และยิ่งเราไปไกลก็ยิ่งมีโปรแกรมแบบนี้มากขึ้น ดังนั้น... เรามาเลือกเส้นทางที่ยากลำบากกันดีกว่า

สำหรับ OS X Snow Leopard มีวิธีแก้ไขปัญหาต่างๆ มากมายบนอินเทอร์เน็ตเพื่อเพิ่มประสิทธิภาพการทำงานของกระบวนการ MDS / mdworker แต่ไม่ใช่ทั้งหมดที่เหมาะกับ Lion

Spotlight ใน Lion ถูกสร้างขึ้นโดยมีความแตกต่างที่ชัดเจนอย่างที่ฉันสังเกตเห็นได้ ดังนั้นคำแนะนำในการควบคุม Spotlight จึงควรแตกต่างออกไป

ฉันจัดการเพื่อทำให้กระบวนการ mdworker สงบลงได้ด้วยสองรอบต่อไปนี้ (สำหรับฉันที่เหลือดูเหมือนว่าไม่มีผลที่เห็นได้ชัดเจน):

1. สร้างดัชนี Spotlight ใหม่ สิ่งนี้จะช่วยผู้ที่กลิ้ง "สิงโต" เหนือ "Lepherd" ฉันรู้สองวิธีในการทำให้เกิดการจัดทำดัชนีใหม่อย่างสมบูรณ์ แต่ฉันขอแนะนำวิธีที่ Apple นำเสนอ: เปิด "การตั้งค่าระบบ" -> สปอตไลท์ จากนั้นไปที่แท็บ "ความเป็นส่วนตัว" และเพิ่มฮาร์ดไดรฟ์ในตัวของคุณ (หรือทั้งหมดนั้น) หากมีหลายรายการ) ในรายการ "วัสดุลับ") หลังจากนั้นไม่กี่วินาที คุณสามารถกด "ลบ" เพื่อย้อนกลับการกระทำได้ ผลลัพธ์จะเป็นการสร้างดัชนีดิสก์ของคุณใหม่ทั้งหมด กระบวนการไม่รวดเร็ว สัญญาณที่แสดงว่ากระบวนการได้เริ่มต้นแล้วคือจุดที่ปรากฏตรงกลางไอคอน Spotlight (มุมขวาบนของหน้าจอ) หากคุณคลิกที่ไอคอนในขณะนี้ Spotlight จะแสดงความคืบหน้าและเวลาจัดทำดัชนีที่เหลือด้วย

บน SSD ของฉัน ข้อมูล ~70Gb ได้รับการจัดทำดัชนีใหม่ภายใน ~15 นาที บน HDD อาจใช้เวลาสองสามชั่วโมง โปรดอดทนรอ ในกรณีนี้ ไม่ควรแตะแล็ปท็อปเพื่อให้ทุกอย่างจบลงเร็วขึ้น

มีข่าวลือว่าวิธีการแปลงข้อมูลเป็นรูปแบบ Lion ใหม่นี้เร็วกว่าการรอการปรับโครงสร้างดัชนี Spotlight เก่าไปเป็นดัชนีใหม่อย่างเห็นได้ชัด

2. ขออภัย ขั้นตอนที่ 1 อาจไม่ได้ผลตามที่ต้องการ และ mdworker จะใช้คอมพิวเตอร์ในทางที่ผิดต่อไป ในกรณีนี้ ให้ดูทรัพยากรพื้นที่เก็บข้อมูลอื่นๆ ที่เชื่อมต่อกับคอมพิวเตอร์ของคุณอย่างใกล้ชิด สิ่งเหล่านี้อาจเป็นดิสก์ไดรฟ์ภายนอก Time Capsule ไดรฟ์เครือข่าย และคอมพิวเตอร์อื่นๆ เป็นไปได้มากว่านั่นคือปัญหา

ฉันมีเซิร์ฟเวอร์กลางที่บ้านซึ่งคอมพิวเตอร์ที่บ้านทุกเครื่องเชื่อมต่อกันผ่านสายหรือ wifi ดังนั้นนี่คือ ฉันจัดการเพื่อจับได้ว่า mdworker ทำงานเกี่ยวกับการจัดทำดัชนีข้อมูลบนทรัพยากรเครือข่ายที่เชื่อมต่อของเซิร์ฟเวอร์นี้ และข้อมูลก็มีว้าว

จากนั้นฉันก็ทำสิ่งต่อไปนี้: เชื่อมต่อทรัพยากรเครือข่ายและไดรฟ์ภายนอกทางกายภาพทั้งหมดเข้ากับ MacBook เปิดการตั้งค่า Spotlight และเพิ่มอุทยานเทคโนโลยีทั้งหมดนี้ให้เป็น "การรักษาความลับ" หลังจากนั้นไม่กี่นาที งานของ mdworkers ก็ปลิวว่อน และฉันมีกระบวนการหลายอย่างที่ทำงานพร้อมกัน

เมื่อคุณปิดใช้งานทรัพยากรเครือข่าย ชื่อจะหายไปจากแท็บ "การรักษาความลับ" แต่อย่าปล่อยให้สิ่งนี้ทำให้คุณกลัว เมื่อคุณเชื่อมต่ออีกครั้ง ทรัพยากรจะปรากฏขึ้นอีกครั้งที่ตำแหน่งเดิม และมันจะเป็นอย่างอื่นไปได้อย่างไรเมื่อพูดถึงความเป็นส่วนตัว?

นี่คือวิธีที่ฉันเอาชนะความอยากรู้อยากเห็นของ Spotlight

ปัญหาได้รับการแก้ไขแล้ว แต่ในระดับประสบการณ์ของฉันเท่านั้น มันไม่ใช่ความจริงที่ว่ามันจะเหมาะกับคุณเหมือนกัน แต่ไม่ว่าสิงโตจะล้อเล่นเรื่องอะไรก็ตาม ลองดูสิ...

บอกเพื่อน