タグ

メモリに関するdelegateのブックマーク (30)

  • FragmentでViewの参照を持つとメモリリークする話と実装

    FragmentでViewの参照を持つとメモリリークする話と実装 Updated at Sat, Jan 18, 2020 View Bindingのドキュメントが更新され、onDestroyViewのタイミングで保持しているBindingの参照を解放する節が追記されました。 Use view binding in fragments Fragment自体のライフサイクルのほうが、FragmentのViewのライフサイクルより長いので、FragmentでBindingの参照を保持するとリークしてしまうためです。 この記事では、メモリリークをしないために、どのような実装が考えられるかを紹介していきます。 1. onDestoryViewで解放する 公式ドキュメントに載っている方法です。 // onCreatedViewで初期化 private var _binding: ResultProf

  • Kubernetesで実際のメモリを超えるコンテナアプリを動かすと、どうなるか? - あさのひとりごと

    Kubernetesは、コンテナアプリケーションをデプロイするためのオーケストレーションツールです。Kuberenetesは分散環境におけるスケーラブルなコンテナ実行環境をつくるための、さまざまな機能が提供されています。 もともとはGoogleが開発したBorgをもとにOSS化したものですが、今日ではマイクロソフトや(ry Kubernetesをつかうとステートレスでマイクロサービス的なアプリケーションを1日に何度もデプロイでき、スパイクアクセスがきても水平スケールが容易なので、大規模Webシステムでスケーラブルな基盤を作れる、というのは広く知られています。 一方、Kubernetesには「Resource Requests」という機能があり、これはPodをデプロイする時に必要とするリソース(CPU/メモリ)を指定できるものです。これにより、Kubernetesクラスタのリソースの使用率を

    Kubernetesで実際のメモリを超えるコンテナアプリを動かすと、どうなるか? - あさのひとりごと
  • clamavのスキャン中のメモリ使用量を抑える

    clamavのメモリ使用量に悩まされてはや11ヶ月。どうしたらオーバーコミットを抑えつつhttpdにメモリを確保できるのか試行錯誤していましたが、ついに解決しました。 clamavの悩み clamdのメモリ使用量は約300MB。このサーバのメモリは1GBなので300MBは大きいです。 # ps aux|grep clam root 29087 0.3 30.5 527936 311460 ? Ssl Nov08 6:56 clamd ウイルススキャンは「CentOSで自宅サーバー構築」を参考に1日1回cronでclamscanを実行していたのですが、スキャンの度にさらに300MBほどメモリを消費していました。 なるべくhttpdにメモリを確保しつつオーバーコミットしないようにメモリ空き容量を微調整し続けていましたが、どうしても10MB程度オーバーしてしまいます。 オーバーコミットするとスワ

    clamavのスキャン中のメモリ使用量を抑える
  • MySQLがメモリー不足の時に何をするか : トラブルシューティングガイド | Yakst

    MySQLがメモリー不足で停止してしまった(OOM Killerに停止させられた)時に確認すべき項目を紹介する。特に、MySQLのバグでメモリリークが起きている可能性がある場合に手がかりを得る方法について。 [MySQL]原文 What To Do When MySQL Runs Out of Memory: Troubleshooting Guide - Percona Database Performance Blog (English) 原文著者 Alexander Rubin 原文公開日 2018-06-28 翻訳依頼者 翻訳者 doublemarket 翻訳レビュアー kakuka4430 原著者への翻訳報告 2299日前 原文へのコメントで報告済み 編集 クラッシュした時のトラブルシューティングが楽しいタスクであったためしはありませんが、クラッシュの原因をMySQLが教えてくれ

  • プロセスのVSZ,RSSとfree,meminfo挙動を実機で確認 - のぴぴのメモ

    1.はじめに 1-1.この記事の要旨 1-2.(予習)メモリに関する指標とlinuxのメモリ挙動について 2.検証環境と検証方法 2-1.検証環境 2-2.検証方法 2-3.測定方法 (1)psコマンドによるVSZ,RSS情報の取得 (2)freeコマンドとmeminfo情報の取得 3.結果 3-1.全体の結果 3-2.プロセスのVSZ/RSS挙動 ポイント① malloc()した時の挙動→VSZのみ増加 ポイント② 1回目のデータread時→RSSは増えない ポイント③ データwrite→RSSが増加する 3-3.システムワイドな挙動(freeコマンド/meminfo) ポイント① malloc()した時の挙動→usedもAnonymousPageも増えない ポイント②1回目のデータread時→変化しない。 ポイント③ データwrite→used上昇、AnonymousPage上昇 4.

    プロセスのVSZ,RSSとfree,meminfo挙動を実機で確認 - のぴぴのメモ
  • OSのデバッグ:メモリアロケーション講座 | POSTD

    追記:やあやあHacker Newsさん!おひさしぶり!メモリ管理を深く掘り下げた私の投稿を読む邪魔はしたくないし、私の投稿のあら探しをする人たちを邪魔するつもりもありません。技術的なマル秘テクニックに注目するのもいいでしょう(いや、わかりますよ。楽しいですしね!)。でも、私たちはひとりぼっちでソフトウェアを書いているわけではないのです。だから、ためになる技術的なコンテンツ(私の記事もそうでありたいものです)を捜すだけじゃなくて、政治的な話題にも目を向けることを強くおすすめします。ソフトウェア開発者である私たちは、今後数十年にわたって社会を変える最前線に立つ特権を与えられています。私たちは、自分たちの仕事を社会全体に役立てられるようにするための情報や知識を必要としています。 そういう意味でみなさんには、 Hacker Newsが「政治的」なコンテンツを検閲すると言い出したこと に反対しても

    OSのデバッグ:メモリアロケーション講座 | POSTD
  • 第4回 メモリ管理

    システムにいくらメモリが搭載されていて、そのうちどのくらいのメモリが実際に使われているのか、当に必要なメモリはどのくらいなのか。Windows OSのメモリ管理機能について解説。 連載目次 前回はWindows OSのプロセスとスレッドについて解説した。今回はプロセスやスレッド管理とも深く関連する「メモリ管理」について見ていく。 タスクマネージャーでメモリの利用状況を確認する Windows OSと、その上で動作しているプロセスがどのくらいのメモリを使用しているかを確認することは、PCにどのくらいのメモリを用意(搭載)すべきかを決めるために重要なことである。せっかく新しい高速なシステムを導入してもメモリが不足していたのではその性能を100%発揮できないからだ。 現在使用中のシステムにいくらメモリが搭載されていて、そのうちどのくらいのメモリが実際に使われているのか、当に必要なメモリはどの

    第4回 メモリ管理
  • [KVM] 仮想マシンのメモリ設定

    virshのsetmemコマンドを使うと、仮想マシンのメモリサイズを変更できます。 以下、virt-managerで仮想マシンを作成する際に、メモリサイズを1GBと指定した場合を例に説明します。 ホストOSで、virshにログインし、setmemコマンドを実行します。 $ sudo virsh # virshにログイン virsh # setmem 2 524288 これで、ID=2の仮想マシンのメモリは、512MBになったはずです。 仮想マシンにログインして、freeコマンドを実行してみます。 $ free -k total used free shared buffers cached Mem: 495256 345728 149528 0 12808 268740 このように、メモリが512MBになっています。 ちなみに、仮想マシンの作成時に指定したメモリサイズ(メモリの最大サイズ)

  • どうしてメモリはスワップするのか!?

    こんにちは。斎藤です。 最近、新しいスキー板が欲しいなと思っています。現在使っているOGASAKAの板は5年目に入り、メーカーからこれ以上はチューンナップ(メンテナンス)はできないよ、と言われてしまいました。もし、次に買うなら、スノーボーダーの人と一緒にパウダーに飛び込みやすいセミファットタイプが良いのかなと考えています。皆さんのオススメ、ぜひ教えてください。 さて、今日はLinux Kernel上でのメモリ管理、特にページ回収(Page Reclaim)とスワップに絞り、「スワップの理由」「ページを回収する仕組み」そして「スワップの様子を観察する」の3点に分けてお話しします。「スワップするのが気持ち悪い」と考えている方は少なくないと思いますし、私もそう考えていた時期がありました。しかし、それは当に悪い事なのか、今回掘り下げて行きます。 ※主な対象Kernelは2.6.32(Red Ha

    どうしてメモリはスワップするのか!?
  • Mac OS Xで、再起動せずにスワップを解放する方法 - kazuhoのメモ置き場

    Mac を使っていて、だんだん動きがもっさりしてきたなー*1と思って /private/var/vm/ 下を見ると、案の定スワップファイルが溜まっていることがある。 こういうケースでの対策としては、・スワップ禁止にする、・/usr/sbin/purgeする、・再起動する、といった手があるけど、スワップ禁止にするのは当にメモリ不足になる可能性を考えると怖いし、purgeはスワップアウトしたデータを回収してくれないので効果は一時的だし、再起動はめんどい。 そんな場合は、処理が落ち着いたタイミングで以下のようにして、スワップを実メモリに書き戻せばよい*2。スワップファイルも全部消える。 $ sudo launchctl unload /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist $ sudo launchctl load

    Mac OS Xで、再起動せずにスワップを解放する方法 - kazuhoのメモ置き場