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

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

4
หน่วยความจำสูงสุดของเซิร์ฟเวอร์ SQL ไม่ จำกัด การใช้ RAM
ฉันต้องการให้คุณป้อนข้อมูลนี้ ฉันมี sql server 2008r2 Ent เอ็ด 64 บิตพร้อม 16 คอร์และ RAM 64GB มีอินสแตนซ์หนึ่งของเซิร์ฟเวอร์ SQL ที่ได้รับการแพตช์อย่างสมบูรณ์ตั้งแต่ 20111014 หน่วยความจำสูงสุดถูกตั้งไว้ที่ 60000MB จำนวน ram ฟรี 0 ตามตัวจัดการงานหลังจากสองสามวันออนไลน์ ถ้าฉันเปลี่ยน ram สูงสุดเป็นต่ำกว่า 53GB มันจะหลังจากนั้นสองสามวันเพื่อทำให้เสถียรและมี ram ฟรี เป็นกระบวนการ sql ที่จัดสรร ram ตามตัวจัดการงาน ฉันจะตกลงกับสิ่งที่เป็นปัญหาได้อย่างไร? มันไปโดยไม่บอกว่าฉันทำการทดสอบจำนวนมากแล้ว แต่ก็ยังไม่ได้แก้ไขสิ่งนี้ตามความชอบของฉัน และโอ้เราไม่ได้รับความอดอยากของหน่วยความจำทั่วไปเมื่อ ram ที่มีอยู่ลดลงเหลือ 0 อัปเดต 1: แรงบันดาลใจจากอีก Q / เกี่ยวข้องกับแรมในหน้านี้/dba//a/7062/2744 ฉันใช้สองสิ่งนี้เพื่อดูว่า …

1
ผู้ประกอบการใช้ tempdb ในการรั่วไหลของข้อมูลระหว่างการดำเนินการกับระดับที่หก
ฉันกำลังดิ้นรนเพื่อลดต้นทุนของการดำเนินการเรียงลำดับในแผนแบบสอบถามด้วยOperator usedtempdb คำเตือนto spill data during execution with spill level 2 ฉันพบโพสต์หลายรายการที่เกี่ยวข้องกับข้อมูลการรั่วไหลในระหว่างการดำเนินการกับการรั่วไหลระดับ 1แต่ไม่ใช่ระดับ 2 ดูเหมือนว่าระดับ 1 จะทำให้สถิติล้าสมัยแล้วระดับ 2 เป็นอย่างไร level 2ฉันไม่สามารถหาอะไรที่เกี่ยวข้องกับ ฉันพบบทความนี้น่าสนใจมากที่เกี่ยวข้องกับคำเตือนการเรียง: อย่าเพิกเฉยต่อคำเตือนการเรียงลำดับใน SQL Server เซิร์ฟเวอร์ SQL ของฉัน Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64) 17 มิถุนายน 2016 19:14:09 ลิขสิทธิ์ (c) Microsoft Corporation รุ่นองค์กรองค์กร (64 บิต) บน Windows …

2
จะเกิดอะไรขึ้นเมื่อไม่มีหน่วยความจำกายภาพเหลืออยู่สำหรับ SQL Server
ในขณะที่ Google กำลังค้นหาข้อมูลที่ขัดแย้งกัน บางเว็บไซต์ระบุว่าเมื่อไม่มีหน่วยความจำกายภาพเหลืออยู่สำหรับข้อมูล SQL Server จะย้ายข้อมูลที่มีอยู่แล้วลงใน TEMPDB (ดู: SQL Server: Demystifying TempDb และคำแนะนำ ) แต่เว็บไซต์อื่น ๆ ระบุว่าเมื่อมีหน่วยความจำกายภาพเหลืออยู่ไม่เพียงพอระบบปฏิบัติการสามารถใช้ PAGE FILE และย้ายข้อมูลจากหน่วยความจำกายภาพไปยังมัน (ดูหน้าไฟล์สำหรับ SQL Server ) ฉันสงสัยว่า SQL Server เขียนข้อมูลเมื่อใดหน่วยความจำกายภาพหมด? หากต้องการ tempdb หรือไปยังไฟล์หน้า OS? หรืออาจจะทั้งคู่?

2
ดูอย่างรวดเร็วว่ามีการจัดสรร RAM ไปยัง SQL Server เท่าใด
ด้วย SQL Server 2005 คุณสามารถดูที่ Task Manager และอย่างน้อยให้ดูคร่าวๆว่าหน่วยความจำจัดสรรให้กับ SQL Server เท่าใด ด้วย SQL Server 2008 ชุดการทำงานหรือขนาดการส่งมอบจะไม่สูงเกินกว่า 500 MB แม้ว่า SQLServer: ตัวนับหน่วยความจำ / เซิร์ฟเวอร์รวมหน่วยความจำเซิร์ฟเวอร์ (KB) จะแสดงสถานะ 16,732,760 มีการตั้งค่าที่จะแสดงหน่วยความจำเซิร์ฟเวอร์จริง ๆ ใน Task Manager หรือไม่? หรือเป็นผลมาจากพวกเขาเปลี่ยนวิธีการใช้หน่วยความจำใน SQL Server

2
DBP FREEPROCCACHE และ DBCC FREESYSTEMCACHE ('แผนการ SQL') ไม่ทำอะไรเลยเพื่อเพิ่มหน่วยความจำ CACHESTORE_SQLCP ฟรี
CACHESTORE_SQLCP Sql Plans ใช้เวลา> 38 GB หลังจากสองสามวัน เรากำลังใช้งานตัวเลือก "เพิ่มประสิทธิภาพสำหรับภาระงาน Ad hoc" (Entity Framework และการรายงานที่กำหนดเองสร้างโฆษณาจำนวนมาก!) SQL Server 2016 SE 3.00.2164.0.v1 บน AWS RDS พร้อมการจำลองแบบหลาย AZ เมื่อฉันวิ่ง: DBCC FREESYSTEMCACHE('SQL Plans'); หรือ DBCC FREEPROCCACHE หรือ DBCC FREESYSTEMCACHE ('SQL Plans') WITH MARK_IN_USE_FOR_REMOVAL หรือ DBCC FREESYSTEMCACHE ('ALL') WITH MARK_IN_USE_FOR_REMOVAL; ดูเหมือนจะไม่ชัดเจนว่า: SELECT TOP 1 type, name, …

3
ตาราง MEMORY ชั่วคราวจะคงอยู่นานแค่ไหนถ้าฉันไม่ทำมัน (MySQL)
ฉันใช้โพรซีเดอร์ที่จัดเก็บแบบเรียกซ้ำใน MySQL เพื่อสร้างตารางชั่วคราวที่เรียกว่าid_listแต่ฉันต้องใช้ผลลัพธ์ของโพรซีเดอร์นั้นในแบบสอบถามแบบติดตามผลดังนั้นฉันจึงไม่สามารถDROPใช้ตารางชั่วคราวภายในโพรซีเดอร์ ... BEGIN; /* generates the temporary table of ID's */ CALL fetch_inheritance_groups('abc123',0); /* uses the results of the stored procedure in the WHERE */ SELECT a.User_ID FROM usr_relationships r INNER JOIN usr_accts a ON a.User_ID = r.User_ID WHERE r.Group_ID = 'abc123' OR r.Group_ID IN (SELECT * FROM …

2
เหตุใด MySQL จึงสร้างตารางชั่วคราวจำนวนมากบนดิสก์
ความผิดพลาดในการตั้งค่าใด ๆ อาจนำไปสู่การสร้างตารางชั่วคราวมากเกินไปโดย mysql..mysql tuner แสดง Current max_heap_table_size = 200 M Current tmp_table_size = 200 M Of 17158 temp tables, 30% were created on disk table_open_cache = 125 tables table_definition_cache = 256 tables You have a total of 97 tables You have 125 open tables. Current table_cache hit rate is …
13 mysql  innodb  myisam  memory 

1
PostgreSQL บ่นเกี่ยวกับหน่วยความจำที่แชร์ แต่ดูเหมือนว่าหน่วยความจำที่แชร์จะไม่เป็นไร
ฉันได้ทำคีมาแบบเข้มข้นแล้วปล่อยและสร้างบนเซิร์ฟเวอร์ PostgreSQL แต่ตอนนี้บ่น .. : WARNING: out of shared memory ERROR: out of shared memory HINT: You might need to increase max_locks_per_transaction. แต่ปัญหายังคงอยู่หาก PostgreSQL เพิ่งเริ่มต้นใหม่service postgresql restartฉันสงสัยว่า max_locks_per_transaction จะไม่ปรับอะไรเลย ฉันค่อนข้างจะเหินห่างเพราะรายการแก้ไขปัญหาสำหรับข้อผิดพลาดนี้ไม่ทำงานสำหรับฉัน ข้อมูลเพิ่มเติม 1409291350:รายละเอียดบางอย่างหายไป แต่ฉันเก็บผลลัพธ์ SQL หลักไว้ postgres=# SELECT version(); PostgreSQL 9.3.5 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit และ: …

3
วิธีดูสิ่งที่แคชในหน่วยความจำใน SQL Server 2008
มีวิธีหาแคชใน SQL Server 2008 R2 หรือไม่? ฉันได้พบบทความที่ดีต่อไปนี้: http://blog.sqlauthority.com/2010/06/17/sql-server-data-pages-in-buffer-pool-data-stored-in-memory-cache อย่างไรก็ตามฉันต้องการทราบจำนวนข้อมูล (เช่นเป็นเปอร์เซ็นต์และ KB) ของแต่ละตารางและดัชนี มีวิธีง่ายๆในการรับข้อมูลดังกล่าวหรือไม่?

3
SQL Server 2008 R2“ Ghost Memory” หรือไม่
เรามีเครื่อง SQL Server 2008 R2 โดยเฉพาะที่กำลังประสบปัญหาหน่วยความจำแปลก ๆ ตัวเครื่องมีทรัพยากรมากมายรวมถึงโปรเซสเซอร์ Quad-Core สองตัว, RAM ขนาด 16GB และ Windows Server 2008 R2 Enterprise ขนาด 64 บิต (เป็น Dell PowerEdge 2950) . ปัญหาที่แปลกคือระบบรายงานหน่วยความจำ 82% ที่ใช้งานอยู่ แต่ sqlservr.exe รายงานว่ามีการใช้งาน 155mb เท่านั้น สาเหตุที่ฉันสงสัยว่า SQL Server นั้นเป็นปัญหาเพราะถ้าฉันรีสตาร์ทกระบวนการ sqlservr.exe ปริมาณการใช้หน่วยความจำกลับสู่ปกติเป็นระยะเวลาหนึ่ง ไม่มีใครมีแนวคิดใด ๆ เกี่ยวกับวิธีที่ฉันจะเริ่มติดตามปัญหานี้ได้หรือไม่ ขอบคุณเจสัน

2
Redis ใช้หน่วยความจำและล่มทั้งหมด
เซิร์ฟเวอร์ redis v2.8.4 กำลังทำงานบน Ubuntu 14.04 VPS พร้อม RAM 8 GB และพื้นที่สลับ 16 GB (บน SSD) อย่างไรก็ตามhtopแสดงให้เห็นว่าredisเพียงลำพังกำลัง22.4 Gหน่วยความจำ! redis-serverในที่สุดก็ล้มเหลวเนื่องจากออกจาก memeory MemและSwpทั้งสองโจมตี 100% จากนั้นredis-serverจะถูกฆ่าพร้อมกับบริการอื่น ๆ จากdmesg: [165578.047682] Out of memory: Kill process 10155 (redis-server) score 834 or sacrifice child [165578.047896] Killed process 10155 (redis-server) total-vm:31038376kB, anon-rss:5636092kB, file-rss:0kB การเริ่มต้นใหม่redis-serverจากความผิดพลาดของ OI หรือservice redis-server …

2
วิธีการปรับสมดุลหน่วยความจำ SQL Server กับหน่วยความจำบริการวิเคราะห์เซิร์ฟเวอร์ SQL
เรามีหลายระบบที่มีการกำหนดค่าเดียวกัน เซิร์ฟเวอร์เดียว (เสมือนหรือจริง) ใช้ SQL Server (SQL) และ SQL Server Analysis Server (AS) หลายแกน RAM 16gb แต่ละคืน SQL Server จะทำการประมวลผลประมาณ 2-3 ชั่วโมงตามด้วยการประมวลผล AS 2-3 ชั่วโมง จากนั้นตลอดทั้งวันจะมีการสอบถามเฉพาะ AS สมมติว่านี่เป็นเซิร์ฟเวอร์เฉพาะและไม่มีแอพพลิเคชั่นอื่นใดที่เกี่ยวข้องและการประมวลผลทั้งสองชุดนั้นจะซิงโครนัสอย่างสมบูรณ์โดยไม่ทับซ้อนกันตลอดเวลา - ฉันจะตั้งค่าขีด จำกัด หน่วยความจำของเซิร์ฟเวอร์ SQL และ AS ได้อย่างไร เหตุผลที่ถามคือถ้าฉันไม่ได้ตั้งค่าขีด จำกัด สำหรับ SQL มันจะดึงหน่วยความจำทั้งหมดที่ทำได้ อย่างไรก็ตาม - ความเข้าใจของฉันคือ SQL จะปล่อยหน่วยความจำนี้อย่างมีความสุขถ้า: มันไม่ได้ใช้มันและ บริการ / โปรแกรมอื่นร้องขอ …

2
MongoDB สิ้นสุดลงเมื่อหน่วยความจำไม่เพียงพอ
ฉันมีการกำหนดค่าต่อไปนี้: เครื่องโฮสต์ที่รันคอนเทนเนอร์ docker สามตัว: MongoDB Redis โปรแกรมที่ใช้สองคอนเทนเนอร์ก่อนหน้าเพื่อจัดเก็บข้อมูล ทั้ง Redis และ MongoDB ใช้เพื่อจัดเก็บข้อมูลจำนวนมาก ฉันรู้ว่า Redis ต้องการเก็บข้อมูลทั้งหมดไว้ใน RAM และฉันก็โอเคกับเรื่องนี้ น่าเสียดายสิ่งที่เกิดขึ้นคือ mongo เริ่มใช้ RAM เป็นจำนวนมากและทันทีที่โฮสต์ RAM เต็ม (เรากำลังพูดถึง 32GB ที่นี่) ไม่ว่าจะเกิดจาก mongo หรือ Redis ฉันได้อ่านคำถามก่อนหน้านี้เกี่ยวกับเรื่องนี้: จำกัด การใช้ RAM MongoDB : ดูเหมือนว่า RAM ส่วนใหญ่จะถูกใช้โดยแคช WiredTiger หน่วยความจำที่ จำกัด MongoDB : ที่นี่เห็นได้ชัดว่าปัญหาคือข้อมูลบันทึก จำกัด การใช้หน่วยความจำ RAM ใน …

2
ดูการใช้งานหน่วยความจำ Postgresql
ฉันใช้งาน Postgresql บนเซิร์ฟเวอร์ Ubuntu และต้องสามารถตรวจสอบการใช้งานหน่วยความจำได้ ขณะนี้ฉันมีสคริปต์ที่ทำงานในงาน cron หนึ่งนาทีที่ตรวจสอบ / บันทึกสถิติต่างๆและจำเป็นต้องตรวจสอบ / บันทึกการใช้งานหน่วยความจำปัจจุบันของ Postgresql ฉันค้นหาไปแล้วและไม่สามารถหาอะไรได้มากไปกว่าความจริงที่ว่า Postgresql ใช้หน่วยความจำที่ใช้ร่วมกันได้ดีดังนั้นค่าที่กำหนดโดยโปรแกรมเช่น 'top' นั้นไม่ถูกต้อง ฉันจะตรวจสอบการใช้งานหน่วยความจำทั้งหมดของ Postgresql ได้ตลอดเวลาที่กำหนดไว้อย่างไร ข้อมูลนี้จะถูกนำมาใช้ในการสร้างกราฟสำหรับการวิเคราะห์ในภายหลัง

3
SQL Server จัดการข้อมูลสำหรับการสืบค้นที่มีที่ว่างไม่เพียงพอในแคชบัฟเฟอร์อย่างไร
คำถามของฉันคือ SQL Server จะจัดการกับแบบสอบถามที่ต้องการดึงข้อมูลจำนวนมากลงในแคชบัฟเฟอร์ได้อย่างไร แบบสอบถามนี้จะมีการรวมหลายรายการดังนั้นชุดผลลัพธ์จึงไม่มีอยู่ในรูปแบบนี้บนดิสก์แล้วและจะต้องรวบรวมผลลัพธ์ แต่แม้หลังจากการรวบรวมก็ยังคงต้องการพื้นที่มากกว่าที่มีอยู่ในแคชบัฟเฟอร์ ฉันจะยกตัวอย่าง สมมติว่าคุณมีอินสแตนซ์ของ SQL Server ที่มีเนื้อที่แคชแคชรวม 6GB ฉันเรียกใช้คิวรีที่มีการรวมหลายตัวที่อ่านข้อมูล 7GB ได้ SQL Server สามารถตอบสนองต่อคำขอนี้ได้อย่างไร มันเก็บข้อมูลชั่วคราวใน tempdb หรือไม่? มันล้มเหลวหรือไม่ มันทำสิ่งที่เพิ่งอ่านข้อมูลจากดิสก์และรวบรวมส่วนในเวลาหรือไม่ นอกจากนี้จะเกิดอะไรขึ้นถ้าฉันพยายามคืนข้อมูลทั้งหมด 7GB นั่นจะเปลี่ยนวิธีจัดการกับ SQL Server หรือไม่ ฉันรู้อยู่แล้วว่าหลายวิธีในการแก้ไขปัญหานี้ฉันแค่อยากรู้ว่า SQL Server จัดการกับคำขอนี้เป็นการภายในเมื่อทำงานตามที่ระบุไว้ นอกจากนี้ฉันแน่ใจว่าข้อมูลนี้มีอยู่ที่ใดที่หนึ่ง แต่ฉันประสบความสำเร็จในการค้นหา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.