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

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

4
SQL Serverの最大メモリがRAMの使用を制限しない
これについてのご意見をお願いします。SQL Server 2008r2 Entがあります。エド。16コアおよび64GB RAMを備えた64ビット。20111014の時点で完全に修正されたSQLサーバーのインスタンスが1つあります。 最大RAMは60000MBに設定されています。オンラインで数日後のタスクマネージャーによると、フリーラムの量は0です。 最大RAMを53GB未満に変更すると、数日後に安定し、空きRAMが確保されます。 タスクマネージャーに従ってRAMを割り当てるのは、SQLプロセスです。問題が実際に何であるかをどのように判断しますか?言うまでもなく、私は既に多くのテストを行ったが、これを私の好みにまだ解決していない。また、使用可能なRAMが0になったときに、通常のメモリ不足が発生することはありません。 更新1: このページ/dba//a/7062/2744の RAMに関する別のQ / Aに触発されました。これら2つを使用して、RAMの用途を確認しました。 SELECT TOP ( 10 ) [type] AS [Memory Clerk Type] , SUM(single_pages_kb) AS [SPA Mem, Kb] FROM sys.dm_os_memory_clerks GROUP BY [type] ORDER BY SUM(single_pages_kb) DESC OPTION ( RECOMPILE ) ; SELECT DB_NAME(database_id) AS [Database Name] , COUNT(*) …

2
SQL Serverに使用可能な物理メモリが残っていない場合はどうなりますか?
グーグル検索中に、矛盾する情報を見つけました。 一部のサイトでは、データ用の物理メモリが残っていない場合、SQL Serverは既存のデータをTEMPDBに移動すると述べています(SQL Server:TempDbの説明と推奨事項を参照)。 しかし、他のサイトでは、十分な物理メモリが残っていない場合、オペレーティングシステムがPAGE FILEを使用して物理メモリからデータをそこに移動できると述べています(SQL Serverのページファイルを参照)。 SQL Serverが物理メモリを使い果たしたときにデータを書き込む場所はどこでしょうか?tempdbまたはOSページファイルに?それとも両方とも?

1
オペレーターがtempdbを使用して、実行中に流出レベル2でデータを流出させました
警告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)2016年6月17日19:14:09 Copyright(c)Microsoft Corporation Enterprise Edition(64ビット)on Windows NT 6.3(Build 9600:)(Hypervisor) 私のハードウェア? ハーウェアを見つけるために以下のクエリを実行します: -SQL Server 2012のハードウェア情報 SELECT cpu_count AS [Logical CPU Count], hyperthread_ratio AS [Hyperthread Ratio], cpu_count/hyperthread_ratio AS [Physical CPU Count], physical_memory_kb/1024 AS …

2
SQL Serverに割り当てられるRAMの量を簡単に確認しますか?
SQL Server 2005では、タスクマネージャーを確認し、少なくともSQL Serverに割り当てられているメモリ量を大まかに確認できます。 SQL Server 2008では、SQLServer:Memory Manager / Total Server Memory(KB)perfカウンターが16,732,760を示していても、ワーキングセットまたはコミットサイズが実際に500 MBを超えることはありません。 タスクマネージャで実際にサーバーメモリを表示する設定はありますか?または、SQL Serverでメモリの使用方法を変更した結果ですか

2
DBCC FREEPROCCACHEもDBCC FREESYSTEMCACHE( 'SQL Plans')もCACHESTORE_SQLCPメモリを解放するために何もしません
CACHESTORE_SQLCP SQLプランは、数日後に38 GBを超えます。 「アドホックワークロード用に最適化」オプションをオンにして既に実行しています。(Entity Frameworkとカスタムレポートにより、多くのアドホックが作成されます!) マルチAZミラーリングを使用するAWS RDS上のSQL Server 2016 SE 3.00.2164.0.v1 実行すると: 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, pages_kb FROM sys.dm_os_memory_clerks ORDER BY pages_kb desc type name pages_kb CACHESTORE_SQLCP SQL Plans …

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 id_list) GROUP BY …

2
MySQLがディスク上に非常に多くの一時テーブルを作成しているのはなぜですか?
構成の間違いにより、mysql..mysqlチューナーショーで一時テーブルが多くなりすぎる可能性があります 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 3% 以前の一時テーブルは「23725個の一時テーブルのうち38%がディスク上に作成されたもの」でしたが、max_heapとtmp_tableを16mから200mに変更し、30%に下げました。 構成: engine myisam …
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 そして: $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: …

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「ゴーストメモリ」?
奇妙なメモリの問題が発生している専用のSQL Server 2008 R2マシンがあります。マシン自体には、2つのクアッドコアプロセッサ、16 GBのRAM、64ビットWindows Server 2008 R2 Enterprise(Dell PowerEdge 2950)を含む十分なリソースがあります。 。 奇妙な問題は、システムが使用中のメモリの82%を報告しているが、sqlservr.exeが使用中の155MBのみを報告していることです。SQL Serverが問題であると思われる理由は、sqlservr.exeプロセスを再起動すると、メモリ消費が一定期間正常に戻るためです。 この問題の追跡を開始する方法について、誰にもアイデアがありますか? ありがとう、ジェイソン

2
Redisがすべてのメモリとクラッシュを占有する
Redisサーバーv2.8.4は、8 GBのRAMと16 GBのスワップスペース(SSD上)を備えたUbuntu 14.04 VPSで実行されています。ただしhtop、redis一人22.4 Gで記憶を占有していることを示しています! redis-server記憶不足のために最終的にクラッシュしました。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-serverOOMクラッシュまたはから再起動すると、service redis-server force-reloadメモリ使用量が100MB未満に低下します。 質問:redis-serverクラッシュするまで、メモリをどんどん占有するのはなぜですか?どうすればこれを防ぐことができますか? maxmemoryredisがmaxmemory制限に達するとデータの削除を開始するため、設定が機能しないのは本当ですか? redis-serverを再起動した後 Redisバージョン: Redis server v=2.8.4 sha=00000000:0 malloc=jemalloc-3.4.1 bits=64 build=a44a05d76f06a5d9 更新 ときhtopのメモリ使用量を報告redis-server4.4gのRAMと22.6Gスワップされることを、Redisの内のすべてのキーによって取り込まれたスペースの量はわずかである60.59636307 MBことで報告されたように、rdbtools。これは、redis-server再起動直後に使用されるRAMの量でもあります。 INFO ALLいつredis-serverメモリを大量に消費しているのか mem_fragmentation_ratio:0.19 127.0.0.1:6379> …

2
SQL ServerメモリとSQL Server Analysis Servicesメモリのバランスをとる方法
同じ構成のシステムが多数あります 1つのサーバー(仮想または物理) SQL Server(SQL)およびSQL Server Analysis Server(AS)の実行 マルチコア 16GB RAM SQL Serverは毎晩約2〜3時間の処理を実行し、その後 2〜3時間のAS処理を実行します。次に、終日ASのみが照会されます。 これが専用サーバーであり、他のアプリが問題ではなく、2つの処理セットが完全に同期している-常に次々と重複しない-とすれば、SQLおよびASサーバーのメモリ制限を最適に設定するにはどうすればよいですか。 質問の理由は、SQLの制限を設定しないと、可能なすべてのメモリを取得するからです。ただし、私の理解では、SQLは次の場合にこのメモリを喜んで放棄します。 それを使用していないと 別のサービス/プログラムが要求します。 したがって、論理的な観点からは、SQLに必要なだけの量を割り当てることができると思いますが、ASについてはよくわかりませんTotalMemoryLimit。ASがメモリを放棄するかどうかはわかりません。実際、もっと多くを読むと、それをすべて取り入れることは間違っていると私は信じるようになります。 これは実際に両方に制限を設定する必要があることを意味しますか?ベストプラクティスとは何か、プロセスが重複しないことを考慮して測定する必要があるものについて、私は混乱しています。 これが理にかなっているといいのですが。

2
MongoDBはメモリ不足になると終了します
次の構成があります。 3つのDockerコンテナーを実行するホストマシン: MongoDB Redis 前の2つのコンテナーを使用してデータを格納するプログラム RedisとMongoDBはどちらも、大量のデータを格納するために使用されます。RedisがすべてのデータをRAMに保持する必要があることはわかっています。これで問題ありません。残念ながら、mongoは大量のRAMを消費し始め、ホストRAMがいっぱいになると(ここでは32GBについて話している)、mongoまたはRedisがクラッシュします。 これに関する次の以前の質問を読みました。 MongoDBのRAM使用量を制限する:明らかにほとんどのRAMがWiredTigerキャッシュによって使い果たされています MongoDBのメモリ制限:ここで明らかに問題はログデータでした MongoDBのRAMメモリ使用量を制限します。ここでは、mongoのメモリを制限して、キャッシュ/ログ/データに使用するメモリ量を少なくすることを推奨しています。 MongoDBが使用するメモリが多すぎる:ここでは、より高速なアクセスを提供するために可能な限り多くのRAMを使用する傾向があるのは、WiredTigerキャッシングシステムであると彼らは言います。彼らはまた述べていますit's completely okay to limit the WiredTiger cache size, since it handles I/O operations pretty efficiently mongodbのメモリ使用量を制限するオプションはありますか?:再びキャッシング、彼らはまた追加しますMongoDB uses the LRU (Least Recently Used) cache algorithm to determine which "pages" to release, you will find some more information in these two …

2
Postgresqlのメモリ使用量を表示する
UbuntuサーバーでPostgresqlを実行しており、そのメモリ使用量を監視できる必要があります。現在、1分間のcronジョブでスクリプトを実行しています。このスクリプトは、さまざまな統計を監視/記録し、Postgresqlの現在のメモリ使用量も監視/記録する必要があります。Postgresqlが共有メモリを有効に利用しているため、 'top'などのプログラムによって指定された値が正確ではないという事実を除いて、私は周りを検索しましたが、あまり見つけることができませんでした。 どのようにしたらPostgresqlの合計メモリ使用量をいつでも監視できますか?このデータは、後で分析用のグラフを作成するために使用されます。

3
SQL Serverは、バッファキャッシュに十分なスペースがないクエリのデータをどのように処理しますか?
私の質問は、SQL Serverが、利用可能な領域よりも多くのデータをバッファキャッシュにプルする必要があるクエリをどのように処理するかです。このクエリには複数の結合が含まれているため、結果セットはこのフォーマットですでにディスク上に存在せず、結果をコンパイルする必要があります。ただし、コンパイル後でも、バッファキャッシュで使用可能な領域よりも多くの領域が必要です。 例を挙げましょう。合計6GBの利用可能なバッファキャッシュスペースを持つSQL Serverインスタンスがあるとします。7GBのデータを読み取る複数の結合を使用してクエリを実行しますが、SQL Serverはこの要求にどのように応答できますか?tempdbにデータを一時的に保存しますか?失敗しますか?ディスクからデータを読み取り、一度にセグメントをコンパイルするだけですか? さらに、7GBの合計データを返そうとするとどうなりますか?SQL Serverがデータを処理する方法は変わりますか? 私はこれに対処するいくつかの方法をすでに知っていますが、SQL Serverがこのように実行されたときに、SQL Serverがこの要求を内部的に処理する方法に興味があります。 また、この情報はどこかにあると思いますが、見つけるのに失敗しました。

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