คำถามติดแท็ก memory

เมื่อใช้ในบริบทของฐานข้อมูลหน่วยความจำหมายถึง RAM ที่แอดเดรสได้โดยตรงโดย CPU ซึ่งตรงข้ามกับการผ่านระบบย่อย I / O

2
SQL Server ไม่ได้ใช้หน่วยความจำทั้งหมด
ฉันมี SQL Server 2014 โดยมีหน่วยความจำสูงสุดตั้งไว้ที่ 6GB (หน่วยความจำกายภาพคือ 8GB) เซิร์ฟเวอร์เป้าหมายหน่วยความจำบางครั้ง 6GB แล้วลดลงกลับไปรวมเซิร์ฟเวอร์หน่วยความจำ (ประมาณ 5.3GB ไม่เคยถึง 6GB) ผมใช้committed_kbในsys.dm_os_sys_infoเพื่อตรวจสอบหน่วยความจำที่ใช้โดย SQL Server เมื่อฉันตรวจสอบsys.dm_os_buffer_descriptorsฉันเห็นว่าหน้าเว็บหลุดจากแคช - แต่ยังมีหน่วยความจำเหลืออยู่ 700MB หากไม่มีสิ่งใดต้องการหน่วยความจำคุณจะอธิบายข้อเท็จจริงที่ว่าหน้าถูกลบออกจากแคชได้อย่างไร ฉันคาดหวังว่า SQL Server จะลบหน้าเมื่อต้องการหน่วยความจำเท่านั้น ตาราง temp ที่จัดสรรคืนไม่มีปัญหาบนเซิร์ฟเวอร์นี้ My PLE คือ 3632 แคชโพรซีเดอร์คือ 2182 MB ฉันคาดว่าหน้าเว็บจะลดลงเมื่อไม่มีหน่วยความจำเหลือ แต่ฉันมี 700MB ฟรีหรือฉันเข้าใจผิด ใครช่วยกรุณาลองอธิบายพฤติกรรมนี้ได้ไหม SQL Server กำลังอ่านจากดิสก์ด้วยดังนั้นฉันคิดว่าฉันอาจสรุปได้ว่าไม่ใช่ทุกหน้าที่ต้องการอยู่ในหน่วยความจำ ฉันทำการค้นคว้าเพิ่มเติมและฉันอ่านหน้าจำนวนมากจากดิสก์ลงในหน่วยความจำและสังเกตเห็นบางสิ่งใน taskmanager ระหว่างการอ่าน: หน่วยความจำที่ใช้ไปเพิ่มขึ้นจาก 7.0GB …

3
กำหนดค่า RAM สำหรับ SQL Server และ NUMA
ผู้ดูแลฐานข้อมูลอุบัติเหตุที่นี่ คำถาม: คุณจะยังคง จำกัด RAM สูงสุดสำหรับ SQL Server ด้วยตนเองแม้ว่าจุดประสงค์เดียวของเซิร์ฟเวอร์นั้นคือเพื่อให้บริการโปรแกรมฐานข้อมูล SQL Server เท่านั้น ฉันมีเซิร์ฟเวอร์ Microsoft Windows 2012 R2, SQL Server 2012 Std, พร้อม 32GB RAM ผู้ดูแลระบบเข้าสู่ระบบ SQL Server อย่างต่อเนื่องเพื่อใช้คอนโซลและทั้งหมด ประการที่สองคุณจะตรวจสอบว่าเซิร์ฟเวอร์ Windows นี้เปิดใช้งาน NUMA ได้อย่างไร

3
หน่วยความจำที่ใช้ไม่ได้เพิ่มขึ้นหลังจาก SQL BULK Insert / BCP Export
ฉันได้สร้างตาราง SQL พื้นฐานมากดังต่อไปนี้ CREATE TABLE [dbo].[TickData]( [Date] [varchar](12) NULL, [Time] [varchar](12) NOT NULL, [Symbol] [varchar](12) NOT NULL, [Side] [varchar](2) NOT NULL, [Depth] [varchar](2) NOT NULL, [Quote] [varchar](12) NOT NULL, [Size] [varchar](18) NOT NULL ) ON [PRIMARY] จากนั้นฉันก็ทำการแทรก 3 Gig Bulk BULK INSERT TickData FROM 'C:\SUMO.csv' GO จากนั้นการใช้ RAM สำหรับเซิร์ฟเวอร์ SQL …

3
วิธีการใช้การหน่วงเวลาการแทรกด้วยเอ็นจิน InnoDB และใช้การเชื่อมต่อน้อยลงสำหรับการแทรกคำสั่ง
ฉันกำลังทำงานกับแอปพลิเคชันที่เกี่ยวข้องกับการเขียนฐานข้อมูลจำนวนมากมีการแทรกประมาณ 70% และการอ่าน 30% อัตราส่วนนี้จะรวมการอัปเดตซึ่งฉันคิดว่าเป็นหนึ่งการอ่านและการเขียนหนึ่งครั้ง ผ่านคำสั่งแทรกไคลเอนต์หลายคนแทรกข้อมูลในฐานข้อมูลผ่านคำสั่งแทรกด้านล่าง: $mysqli->prepare("INSERT INTO `track` (user, uniq_name, ad_name, ad_delay_time ) values (?, ?, ?, ?)"); คำถามคือฉันควรใช้insert_delayหรือใช้กลไกmysqli_multi_queryเพราะคำสั่งแทรกใช้ ~ 100% cpu บนเซิร์ฟเวอร์ ฉันใช้เอ็นจิ้น InnoDB บนฐานข้อมูลของฉันดังนั้นการแทรกที่ล่าช้าจึงเป็นไปไม่ได้ การแทรกบนเซิร์ฟเวอร์คือ ~ 36k / ชม. และอ่านได้ 99.89% นอกจากนี้ฉันกำลังใช้คำสั่งเลือกที่มีการดึงข้อมูลเจ็ดครั้งในแบบสอบถามเดียวแบบสอบถามนี้ใช้เวลา 150 วินาทีบนเซิร์ฟเวอร์เพื่อดำเนินการ ฉันสามารถใช้เทคนิคหรือกลไกชนิดใดสำหรับงานนี้ หน่วยความจำเซิร์ฟเวอร์ของฉันคือ 2 gb ฉันควรขยายหน่วยความจำหรือไม่ ไปดูปัญหานี้ข้อเสนอแนะใด ๆ จะขอบคุณฉัน โครงสร้างของตาราง: +-----------------+--------------+------+-----+-------------------+----------------+ | Field | …

2
ปริมาณการใช้หน่วยความจำของ SQL Server 2012 ภายนอกพูลบัฟเฟอร์
ฉันมีอินสแตนซ์ของ SQL Server 2012 SP2 Enterprise Edition ที่ใช้หน่วยความจำประมาณ 20GB สูงกว่าค่าสูงสุด ขีด จำกัด หน่วยความจำ อินสแตนซ์ถูก จำกัด ที่ 65GB แต่หน่วยความจำกายภาพที่ใช้งานจากแบบสอบถามด้านล่างแสดง 86GB SELECT (physical_memory_in_use_kb/1024)/1024 AS [PhysicalMemInUseGB] FROM sys.dm_os_process_memory; GO เซิร์ฟเวอร์มีอยู่จริงโดยมี 2 NUMA โหนด มีวิธีที่ฉันสามารถค้นหาสิ่งที่ใช้หน่วยความจำภายนอกของบัฟเฟอร์พูล (ฉันสมมติว่าเกิดอะไรขึ้น) นี่คือผลลัพธ์ของ DBCC MEMORYSTATUS: - และนี่คือขีด จำกัด หน่วยความจำที่ตั้งไว้: - ขอบคุณล่วงหน้า. ปรับปรุง: - ฉันเรียกใช้แบบสอบถามที่แอรอนแนะนำ SELECT TOP (20) * FROM sys.dm_os_memory_clerks …

1
การเปลี่ยนการตั้งค่าหน่วยความจำสูงสุดจะทำให้แผนการค้นหาไม่ถูกต้องหรือไม่
ฉันเพิ่งลดหน่วยความจำสูงสุดจากค่าเริ่มต้น (ไม่ จำกัด ) ลงเหลือ 20 GB สิ่งนี้ลบข้อความค้นหาที่เก่าที่สุดในแคชแผนหรือไม่

2
หน่วยความจำสูงสุดของ sql server รวมถึง SSIS หรือไม่
ฉันได้ติดตั้ง sql server 2 อินสแตนซ์และ SSIS บนเซิร์ฟเวอร์ต่อไปนี้ โปรดสังเกตว่า RAM มีค่าเกือบ 384 GB และนี่คือการตั้งค่าหน่วยความจำสูงสุดและต่ำสุดที่ฉันใช้กับ 2 อินสแตนซ์ของฉัน ฉันสมมติว่าทั้งสองอินสแตนซ์จะใช้ทรัพยากรในปริมาณที่เท่ากันหากเป็นเช่นนั้น 184,320 MB ซึ่งเป็น 180 GB เป็นหมายเลขเริ่มต้นที่ดีในการตั้งค่าหน่วยความจำของฉัน ฉันจะจัดสรรหน่วยความจำให้กับ SSIS เท่าไหร่

2
Page Life Expectancy พูดถึงเรื่องนี้อย่างไร
ฉันได้ติดตั้งซอฟต์แวร์ตรวจสอบในอินสแตนซ์ของ SQL Server สองสามตัวในสภาพแวดล้อม ฉันพยายามค้นหาคอขวดและแก้ไขปัญหาด้านประสิทธิภาพ ฉันต้องการตรวจสอบว่าเซิร์ฟเวอร์บางแห่งต้องการหน่วยความจำเพิ่มเติมหรือไม่ ฉันสนใจในหนึ่งเคาน์เตอร์: อายุขัยหน้า มันดูแตกต่างในทุกเครื่อง ทำไมมันถึงเปลี่ยนบ่อยในบางกรณีและมันหมายถึงอะไร? โปรดดูข้อมูลจากสัปดาห์ที่แล้วที่รวบรวมบนเครื่องที่แตกต่างกันสองสามเครื่อง คุณจะพูดอะไรเกี่ยวกับแต่ละตัวอย่าง ใช้ตัวอย่างการผลิตอย่างหนัก (1): istance การผลิตที่ใช้ในระดับปานกลาง (2) ตัวอย่างการทดสอบที่ใช้ไม่ค่อย (3) ใช้ตัวอย่างการผลิตอย่างหนัก (4) ตัวอย่างทดสอบที่ใช้ในระดับปานกลาง (5) ใช้คลังข้อมูลอย่างหนัก (6) แก้ไข: ฉันกำลังเพิ่มเอาต์พุตของ SELECT @@ VERSION สำหรับเซิร์ฟเวอร์เหล่านี้ทั้งหมด: Instance 1: Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) Jun 17 2011 00:54:03 Copyright (c) Microsoft Corporation …

2
RAM ที่เพิ่มขึ้นประสิทธิภาพที่แย่ลง
ติดตั้ง: Windows Server 2008 R2 SQL Server 2008 R2 SP1 RAM 240GB TempDB เป็นไฟล์ข้อมูลขนาด 8x16GB โดยไม่มีการเติบโตอัตโนมัติ (รวม 128GB) เซิร์ฟเวอร์ทางกายภาพ / เซิร์ฟเวอร์แบบเอกเทศ เซิร์ฟเวอร์นี้ใช้สำหรับการประมวลผล ETL เราเพิ่งติดตั้ง RAM เพิ่มเติมในเซิร์ฟเวอร์นี้รวม 240GB RAM บริการ SQL Server เป็นสิ่งเดียวที่ทำงานจริง หน่วยความจำแสดงผลได้ดีใน BIOS, OpenManage และ Windows ถ้าฉันกำหนดค่า SQL Server ให้ใช้หน่วยความจำต่ำสุด / สูงสุด 70 / 100GB เราก็ไม่มีปัญหา อย่างไรก็ตามเมื่อฉันเพิ่มเป็น 120/150GB ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันเรียกใช้กระบวนการ …

1
MongoDB ไม่ได้ใช้ RAM ที่มีอยู่ทั้งหมด
ฉันมีข้อมูลประมาณ 200 GB ที่เก็บอยู่ในคลัสเตอร์ mongo หน่วยความจำกายภาพในหนึ่งในอินสแตนซ์ที่เรียกใช้ mongo คือ 8GB ไม่มีสิ่งอื่นใดที่จะตามมาในอินสแตนซ์นี้ ใกล้ที่สุดเท่าที่ฉันสามารถเข้าใจได้จากเอกสารของ Mongo (เช่นนี้: http://www.mongodb.org/display/DOCS/Checking+Server+Memory+Usage ) ซึ่งหมายความว่ากระบวนการ Mongo ควรใช้ประมาณ 100% ของ หน่วยความจำกายภาพที่มีอยู่ แต่ถ้าคุณดูผลลัพธ์ต่อไปนี้จากtopคำสั่งคุณจะเห็นว่าอินสแตนซ์ mongod นั้นใช้หน่วยความจำภายใน 2GB เท่านั้นและมีหน่วยความจำกายภาพฟรี 2GB เต็มรูปแบบที่มีอยู่ซึ่งไม่ได้ใช้งานเลย บางคนสามารถอธิบายพฤติกรรมนี้ให้ฉันฟังได้ไหม ทำไมถึงมีหน่วยความจำ 2GB ฟรี top เอาท์พุท: top - 23:19:43 up 89 days, 20:05, 2 users, load average: 0.41, 0.55, 0.59 Tasks: 101 …
9 mongodb  memory 

3
วิธีเพิ่มหน่วยความจำ SQL Server
ฉันมีการติดตั้งแซนด์บ็อกซ์เซิร์ฟเวอร์ SQL บนคอมพิวเตอร์ของฉัน ฉันตั้งค่าอินสแตนซ์ของ SQL Server หน่วยความจำแล้วสามารถใช้งานได้ถึง 1,000 mb เมื่อใช้งานแบบเข้มข้นการใช้หน่วยความจำสูงถึง 1,000 mb เมื่อการดำเนินการสิ้นสุดลง SQL Server ยังคงเก็บหน่วยความจำไว้ วิธีเพิ่มการจองหน่วยความจำนี้ฟรี

3
ฉันใช้เครื่องมือเก็บข้อมูล MEMORY แต่ MySQL ยังคงเขียนลงในดิสก์ของฉัน…ทำไม
ฉันใช้MEMORY Engineสำหรับตารางทั้งหมดที่เกี่ยวข้องกับแบบสอบถาม MYSQL เฉพาะเนื่องจากความเร็วในการเข้าถึงเป็นสิ่งสำคัญยิ่งสำหรับโครงการของฉัน ด้วยเหตุผลบางอย่างฉันสังเกตว่าการเขียนดิสก์จำนวนมากยังคงเกิดขึ้น เป็นเพราะ Windows สลับแรมกับดิสก์หรือไม่ ฉันจะป้องกันไม่ให้เกิดเหตุการณ์เช่นนี้ได้อย่างไร แก้ไข: นี่คือตัวแปรทั่วโลกของฉัน: mysql> show global variables; +---------------------------------------------------+-------------------------------------------------------------------------------- ------------------------------+ | Variable_name | Value | +---------------------------------------------------+-------------------------------------------------------------------------------- ------------------------------+ | auto_increment_increment | 1 | | auto_increment_offset | 1 | | autocommit | ON | | automatic_sp_privileges | ON | | back_log | 50 | | …

4
ทำไม MySQL ถึงบอกว่าฉันไม่มีความจำ
ฉันพยายามรันINSERT...SELECTMySQL ที่มีขนาดค่อนข้างใหญ่ด้วย JDBC และฉันได้รับข้อยกเว้นต่อไปนี้: Exception in thread "main" java.sql.SQLException: Out of memory (Needed 1073741824 bytes) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) เนื่องจากฉันไม่ได้ส่งคืนออบเจกต์ ResultSet ฉันจึงคิดว่าพื้นที่ของฮีป Java ไม่น่าจะมีปัญหา อย่างไรก็ตามฉันพยายามเพิ่มมันต่อไปและมันก็ไม่ได้ดี จากนั้นฉันพยายามเรียกใช้คำสั่งใน MySQL Workbench และฉันได้สิ่งเดียวกัน: Error Code 5: Out of memory (Needed 1073741816 bytes) ฉันควรมี RAM มากมายเพื่อให้การดำเนินการเหล่านี้ (เพียงพอที่จะพอดีกับตารางทั้งหมดที่ฉันเลือกจาก) แต่ฉันเดาว่ามีการตั้งค่าต่าง ๆ ที่ฉันจำเป็นต้องปรับแต่งเพื่อใช้ประโยชน์จากหน่วยความจำทั้งหมดของฉัน ฉันใช้หน่วยความจำสูง Amazon EC2 หน่วยความจำเสริมใหญ่เป็นสองเท่าด้วย Windows Server 2008 …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.