タグ付けされた質問 「memory」

データベースのコンテキストで使用される場合、メモリは、I / Oサブシステムを経由するのではなく、CPUによって直接アドレス指定可能なRAMを指します。

2
SQL Serverがすべてのメモリを使用していない
SQL Server 2014で、最大メモリを6GBに設定しています(物理メモリは8GB)。 ターゲットサーバのメモリは、時には6ギガバイトで、その後、バックに落ちるの合計サーバーメモリ(約5.3ギガバイト、6ギガバイトに達することはありません)。私が使用committed_kbをしてsys.dm_os_sys_info SQL Serverが使用するメモリをチェックします。 sys.dm_os_buffer_descriptorsを監視すると、ページがキャッシュから削除されていることがわかりますが、残りのメモリは700MBです。メモリが必要ない場合、ページがキャッシュから削除されるという事実をどのように説明しますか?SQL Serverは、メモリが必要な場合にのみページを削除すると思います。 割り当て解除された一時テーブルは、このサーバーでは問題になりません。私のPLEは3632です。プロシージャキャッシュは2182 MBです。 メモリが残っていない場合にのみページがドロップされると思いますが、700MBの空き容量があるか、これを誤解していますか? 誰かがこの動作を説明してみてください。 SQL Serverもディスクから読み取っているので、必要なすべてのページがメモリにあるとは限らないと思います。 さらに調査を行ったところ、ディスクからメモリに大量のページを読み取り、読み取り中にタスクマネージャに何かがあったことに気づきました。 使用中のメモリは7.0GB-> 7.2GB-> 7.0GB-> 7.2GB-> ... Sqlservr.exeは5.3GB-> 5.5GB-> 5.3GB-> 5.5GB-> ... これは、Windowsがsqlservr.exeを6GBに拡張できないようです。 Shankyから提供されたクエリを実行しました。 select (physical_memory_in_use_kb/1024) Physical_Memory_usedby_Sqlserver_MB, (locked_page_allocations_kb/1024 )Locked_pages_used_Sqlserver_MB, (Virtual_address_committed_kb/1024 )Total_Memory_in_MB,--RAM+ Pagefile process_physical_memory_low, process_virtual_memory_low from sys. dm_os_process_memory これにより、次の結果が得られました。 Physical_Memory_usedby_Sqlserver_MB: 5247 Locked_pages_used_Sqlserver_MB: 0 Total_Memory_in_MB: 5625 process_physical_memory_low: 0 process_virtual_memory_low: …

3
InnoDBエンジンで挿入遅延を使用し、挿入ステートメントの接続を減らす方法は?
多くのデータベース書き込み、約70%の挿入、30%の読み取りを含むアプリケーションに取り組んでいます。この比率には、1回の読み取りと1回の書き込みと見なす更新も含まれます。insertステートメントを使用して、複数のクライアントが以下のinsertステートメントを介してデータベースにデータを挿入します。 $mysqli->prepare("INSERT INTO `track` (user, uniq_name, ad_name, ad_delay_time ) values (?, ?, ?, ?)"); 問題は、insertステートメントがサーバーで最大 100%のCPU を使用するため、insert_delayまたはmysqli_multi_queryメカニズムのどちらを使用するかです。データベースでInnoDBエンジンを使用しているため、挿入の遅延は不可能です。サーバーへの挿入は〜36k /時間、99.89%の読み取りです。また、selectステートメントを使用して、単一のクエリでデータを7回取得しています。このクエリの実行には、サーバーで150秒かかります。このタスクにはどのようなテクニックやメカニズムを使用できますか?サーバーのメモリは2 GBですが、メモリを拡張する必要がありますか?この問題を見てください、どんな提案も私に感謝します。 テーブルの構造: +-----------------+--------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------------+--------------+------+-----+-------------------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | user …

3
SQL BULK挿入/ BCPエクスポート後に使用済みメモリが解放されない
次のように非常に基本的な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ギガの一括挿入を実行しました BULK INSERT TickData FROM 'C:\SUMO.csv' GO 次に、SQLサーバーのRAM使用量はSkyrockingになり、最大30GoのRAMを消費しました。 これは異常な動作であると考えるのが好きで、これを回避するためにそのアクションを実行できます。 編集: OK、これはデフォルトの動作のようです。けっこうだ。 しかし、なぜ一括挿入が完了した後もメモリが解放されないのですか? いくつかの特別な考慮事項: SQLサーバーがOSから「伝えられた」ときにメモリを解放することに関するコメントのように、24コア32 Gb Xeonサーバーでの実地経験では、これが不正確であることが証明されています。抽出されたデータを処理する必要があるデータ処理アプリケーションの.Netインスタンスのプールがあり、残りのメモリを共有してジョブを実行しようとするため、窒息状態のままになっています。SQLServerがオンになったときよりも時間がかかります。オフにすると、すべてのアプリケーションでメモリを共有できます。SQL …

3
SQL ServerおよびNUMAのRAMを構成する
偶発的なDB管理者はこちら。 質問: そのサーバーの唯一の目的がSQL Serverデータベースエンジンのみを提供することである場合でも、SQL Serverの最大RAMを手動で制限しますか? 32GB RAMを搭載したMicrosoft Windows 2012 R2 Server、SQL Server 2012 Stdを使用しています。 管理者は常にSQL Serverにログインして、そのコンソールとすべてを使用します。 次に、このWindowsサーバーでNUMAが有効になっているかどうかをどのように確認しますか?

2
バッファプール外のSQL Server 2012メモリ消費
SQL Server 2012 SP2 Enterprise Editionのインスタンスを使用しており、最大よりも20 GB高いメモリを消費しています。メモリ制限。インスタンスは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 ORDER BY pages_kb DESC これが出力です:- pages_kbの合計は最大60GBになります UPDATE 2: - DBCC MEMORYSTATUSの全出力はここにある: - http://pastebin.com/nGn6kXEc UPDATE 3: -ここでは、Excelファイル内Shankyのスクリプトの出力: - http://jmp.sh/LKRlH4K 更新4:-出力のスクリーンショット:- SELECT (physical_memory_in_use_kb/1024)/1024 AS [PhysicalMemInUseGB] FROM …


2
SQLサーバーの最大メモリにSSISが含まれていますか?
次のサーバーにSQLサーバーの2つのインスタンスとSSISをインストールしました。 RAMの容量は384 GBに近いことに注意してください これは、2つのインスタンスに適用した最大および最小のメモリ設定です。私は両方のインスタンスが等しい量のリソースを使用すると仮定します。それが実際に当てはまる場合、180 GBである184,320 MBが私のメモリをセットアップするための適切な開始番号ですか? SSISにはどのくらいのメモリを割り当てますか?

2
Page Life Expectancyはインスタンスについて何と言っていますか?
環境内のいくつかのSQL Serverインスタンスに監視ソフトウェアをインストールしました。ボトルネックを見つけて、パフォーマンスの問題をいくつか修正しようとしています。一部のサーバーでより多くのメモリが必要かどうかを確認したい。 1つのカウンター、ページの平均余命に興味があります。それはすべてのマシンで異なって見えます。一部のインスタンスで頻繁に変更されるのはなぜですか?それはどういう意味ですか? いくつかの異なるマシンで収集された先週のデータを見てください。各インスタンスについて何が言えますか? 頻繁に使用される本番インスタンス(1): 適度に使用されている実稼働インスタンス(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 Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor) Instance 2: Microsoft SQL …

2
RAMの増加、パフォーマンスの低下
セットアップ: Windows Server 2008 R2 SQL Server 2008 R2 SP1 240GB RAM TempDBは自動拡張なしの8x16GBデータファイル(合計128GB) 物理/スタンドアロンサーバー このサーバーは、ETL処理に使用されます。このサーバーに追加のRAMを追加しただけで、合計で240GBのRAMになります。SQL Serverサービスのみが実行されています。 メモリは、BIOS、OpenManage、およびWindowsで正常に表示されます。 70 / 100GBのメモリの最小/最大を使用するようにSQL Serverを構成した場合、問題はありません。ただし、それを120 / 150GBに増やすと、ETLプロセスの1つを実行すると次のエラーが発生します。 'PRIMARY'ファイルグループがいっぱいのため、データベース 'tempdb'のオブジェクト '<temporary system object:422234507706368>'に領域を割り当てることができませんでした 不要なファイルを削除するか、ファイルグループ内のオブジェクトを削除するか、ファイルグループにファイルを追加するか、ファイルグループ内の既存のファイルに対して自動拡張をオンに設定して、ディスク領域を作成します。(メッセージ1105、状態2、手順不明、行1) メモリ構成を変更する前に、この問題に遭遇したことはありません。元の70 / 100GBに再構成した後、このエラーは発生しません。 私が試したこと: TempDBデータファイルを自動拡張に設定します。これにより、ディスク容量に達するまでファイルが自動拡張され、失敗するだけです。 TempDBデータファイルをさらに追加します。示されているのと同じエラー。 TempDBのサイズを8x32GB(合計256GB)に増やします。 この問題の原因は何なのか途方に暮れています。

1
MongoDBが使用可能なRAMをすべて使用していない
mongoクラスターに約200 GB相当のデータが保存されています。mongoを実行するインスタンスの1つの物理メモリは8GBです。このインスタンスでは、他に何も起こりません。Mongoのドキュメントに基づいて理解できる限り(このドキュメントのように:http : //www.mongodb.org/display/DOCS/Checking+Server+Memory+Usage)、これはmongodプロセスが約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 total, 1 running, 100 sleeping, 0 stopped, 0 zombie Cpu(s): 2.0%us, 1.3%sy, 0.0%ni, 93.9%id, 2.6%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 8163664k total, 6131764k used, 2031900k free, 54976k buffers …
9 mongodb  memory 

3
SQL Serverのメモリを解放する方法
ローカルコンピューターにSQL Serverサンドボックスがインストールされています。SQL Serverインスタンスが使用できるメモリを1000 MBに設定しました。集中的な操作を実行すると、メモリ使用量が最大1000 MB増加します。操作が終了しても、SQL Serverはまだメモリを保持しています。このメモリ予約を解放する方法は?

3
MEMORYストレージエンジンを使用していますが、MySQLはまだディスクに書き込みます…なぜですか?
MEMORY Engine特定のMYSQLクエリに関連付けられているすべてのテーブルにfor を使用しています。これは、プロジェクトのアクセス速度が最も重要だからです。 何らかの理由で、大量のディスク書き込みがまだ発生していることに気付きました。 これは、WindowsがRAMをディスクにスワップしているためですか?これを防ぐにはどうすればよいですか? 編集:ここに私のグローバル変数があります: mysql> show global variables; +---------------------------------------------------+-------------------------------------------------------------------------------- ------------------------------+ | Variable_name | Value | +---------------------------------------------------+-------------------------------------------------------------------------------- ------------------------------+ | auto_increment_increment | 1 | | auto_increment_offset | 1 | | autocommit | ON | | automatic_sp_privileges | ON | | back_log | 50 | | basedir | C:/Program Files/MySQL/MySQL Server …

4
MySQLはなぜメモリ不足だと言っているのですか?
INSERT...SELECTJDBCを使用してMySQLでかなり大きなサイズを実行しようとしましたが、次の例外が発生しました。 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 AMIで実行しています。my.iniファイルをいじって、より良い設定を使用しようとしましたが、すべての状況で、状況がさらに悪化した可能性があることはわかっています。これがそのファイルのダンプです。 [client] port=3306 [mysql] default-character-set=latin1 [mysqld] port=3306 basedir="C:/Program Files/MySQL/MySQL Server 5.5/" datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" character-set-server=latin1 default-storage-engine=INNODB sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" max_connections=100 query_cache_size=1024M table_cache=256 …

1
SQLがバッファキャッシュからすべてのページを数分ごとにダンプする
複数のデータベースを実行している単一のSQL2012 SP4ノードがあります。 サーバーには20 GBのメモリが利用可能で、14 GBがSQLに割り当てられています(他にボックスで実行されているものはありません)。 SQLは数分ごとにバッファキャッシュ全体をダンプします。ページの平均余命はゼロになり、バッファキャッシュ記述子はキャッシュに何もないことを示します。 私はリソースモニターの通知を確認しました。通知は数ミリ秒ごとに高/定常/低から跳ね回っています。 RESOURCE_MEMPHYSICAL_HIGH RESOURCE_MEM_STEADY RESOURCE_MEMPHYSICAL_LOW タイムスタンプが数ミリ秒離れています。PLEは基本的に鋸歯状のパターンです。 これは、SQL2012 SP1とこの質問で以前に発生したのを見たことがあります。 バッファーキャッシュ内のSQL Server 2012空きページが使用されていない 私はすでにSP4に更新していますが、同様の問題のようです。 サービスアカウントのLPIMをオンにして、最大メモリ設定をいじってみました。最大メモリを下げると、バッファキャッシュがより頻繁に空になるようです。 次に確認することについてのアイデアはありますか? サーバーのワークロードは文字通り何もありません(ERPシステムでアイテムのリストをスクロールしていますが、キャッシュが再び低下するまでに約40〜50 MBに達します)。 SP1からアップグレードしてこれを修正したので興味深いです。キャッシュが約500MBになりました。それ以来、私は最大メモリ設定を14GBに落としました。 Windowsがパニックに陥り、SQLでのメモリプレッシャーに関する誤った通知をスローしているのではないかと思います。つまり、最大メモリが無制限に設定されているサーバーは問題なく動作しているようですが、数百MBを超えるキャッシュを満たしていないようです。やっと50に... 詳細:尋ねた人のために コア数: 4 データベースサイズ: 80GB エラーログは以下を示します: A significant part of sql server process memory has been paged out. This may result in a performance degradation. Duration: 0 …

1
テーブルはどのくらいのメモリを使用していますか?
SQL Server(2005以降)でテーブルが使用しているメモリの量を調べる方法はありますか? たとえば、3000万レコードのテーブルがあるとします。インデックス、データ、テキスト/イメージページなど、このテーブルに属するページが現在バッファキャッシュにあるページ数を教えてください。 私はこのクエリをPinal Daveが見つけましたが、このクエリはインデックスによって割り当てられたページのみを返すようです(クラスター化されているかどうかにかかわらず)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.