タグ

memoryに関するtakaesuのブックマーク (9)

  • Serverless連載2: AWS Lambda×Goの開発Tips | フューチャー技術ブログ

    はじめにこんにちは、TIG/DXユニットの真野です。 サーバレス連載の第2弾は、典型的なAWSサービスであるLambdaアプリをGoで開発する中で調べた内容や、Tipsを紹介します。 Lambdaの利用コア数は?結論⇨ 全ての場合で”2”でした。 (2021/05/22追記) アップデートがあり、最大6vCPUまで上限が上がりました。 AWS News Blog: New for AWS Lambda – Functions with Up to 10 GB of Memory and 6 vCPUs 以下は2020.03時点の調査結果です。 Goで開発する場合、少しでも性能を稼ぐためgoroutineを使う場面も多いと思います。特にバックエンドのデータストアがDynamoDBである場合は負荷を気にする必要がほぼ無いため、わたしはデータの書き込み部分を良く並列化することが多いです。 そうい

    Serverless連載2: AWS Lambda×Goの開発Tips | フューチャー技術ブログ
  • docker-compose におけるメモリ使用量の制限方法

    Written by @ryysud Aug 29, 2018 23:36 · 1696 words · 4 minutes read #docker まえおき Docker を利用して、アプリケーションをコンテナとして稼働させていたのですが、コンテナのメモリ使用率が高まり OS がハングアップしてしまう事象が発生しました。その際の対応として docker-compose.yml でのメモリ使用量の制限を行ったので、その設定を備忘録的に残しておきます。 Docker のバージョン Docker for Mac の 18.06.0-ce を利用していきます。 $ docker version Client: Version: 18.06.0-ce API version: 1.38 Go version: go1.10.3 Git commit: 0ffa825 Built: Wed Jul

    docker-compose におけるメモリ使用量の制限方法
  • Rubyプロセスの使用メモリ量の計測

    Rubyプロセスの使用メモリ量を計測したときの備忘録 psを使って計測する psコマンドをRubyスクリプトから叩いて計測できます rss = `ps -o rss= -p #{Process.pid}`.to_i * 0.001 vsz = `ps -o vsz= -p #{Process.pid}`.to_i * 0.001 puts "Process: #{Process.pid}: RSS = #{rss} MB, VSZ = #{vsz} MB" ObjectSpaceを使って計測する ObjectSpaceはオブジェクトの情報を取得したり操作するモジュールです。ObjectSpace#memsize_of_allメソッドを使うと、全てのオブジェクトが使用しているメモリ量を取得できます。 require 'objspace' puts "#{ObjectSpace.memsize

  • DBアクセスで遅くなったテストの実行時間を Docker で 40% 削減した方法 - Qiita

    DBのレイヤーを含むエンドツーエンドテストやDBに依存したコンポーネントの自動テストがたくさんあると、全てのテストが終わるまでに長い時間がかかるようになってしまうことがあります。DBのクエリ実行はネットワークIOやディスクIOなどを含んだ高コストな処理だからです。 Docker を少し工夫して使うと、お手軽にテスト中のDBのクエリ実行にかかる時間を削減できます。自動テストが完了するまでの待ち時間を短縮し、開発のフィードバックサイクルをより早く回せるようになります! MariaDB を用いたプロジェクトの実績では、DBアクセスを伴うテストケースが 153件 ありましたが、この方法によりそのテストスイートのローカル環境での実行時間を約 43% 削減できました(約 145.7s → 約 83.3s)。 どうやって? Docker で tmpfs を使います。 tmpfs tmpfs とは、ディス

    DBアクセスで遅くなったテストの実行時間を Docker で 40% 削減した方法 - Qiita
  • Amazon EC2(Linux)のswap領域ベストプラクティス | DevelopersIO

    ども、大瀧です。 Linuxのメモリ管理で欠かせないのがswapですよね。EC2のディスク管理には独特な仕様があるのでその辺りを踏まえつつ、EC2(Linux)でどのようにswap領域を用意するのが良いのかまとめてみたいと思います。 理屈をこねながらの解説になるので、先にエントリーの結論を。 公式AMIにはswap領域が含まれない m1.small、c1.mediumには900MBのスワップ領域がおまけでついてくる(Amazon Linux AMIであれば、Cloud-initによって自動マウントされる) swap領域には、インスタンスストア(別名Ephemeral Disk)を使うべし では、それぞれ見ていきます。 公式Linux AMIの初期構成にはswapパーティションが無い Amazonから提供される公式のLinux AMIのブートディスクには、swapパーティションが含まれてい

    Amazon EC2(Linux)のswap領域ベストプラクティス | DevelopersIO
    takaesu
    takaesu 2014/02/25
    Linuxのswap領域について
  • RailsでRedisを使う例のメモ | | Scimpr Blog

    最近よく見かけるようなのでメモ Redisって大量にメモリを積んでないとダメかと思ってたけど、思ったよりいろんな方面に用途がありそう(リンク先の情報はわたしは未検証です) Redisの基礎 (全14回) memcachedと“正反対”、Redisが仮想メモリをサポート セッションをサーバサイドで管理するセッションの保存先にRedisを使う github.com/jodosha/redis-store/ github.com/jodosha/redis-store/tree/master/redis-rails node.js – socket.io – railssessionを共有する方法 バックグラウンド処理を行う#271 Resque github.com/defunkt/resque cronのような定期的なジョブの実行resque-scheduler (resqueでcro

    RailsでRedisを使う例のメモ | | Scimpr Blog
  • Part4 仮想マシンの仕組みを理解する

    Part1「今さら聞けないOSの疑問」,Part2「これがWindows Vistaだ!」,Part3 「Windows XP Tips 25 」に続いてPart4は,Javaなどで用いられている『仮想マシン』を解説します。 Java技術が誕生したのは1995年。誕生してからすでに10年以上の歳月が流れました。登場当初はばく大なメモリーを消費するとか,とにかく遅いという理由で敬遠されがちでしたが,現在ではWebアプリケーションを中心に幅広く普及しています。遅いという欠点も徐々に克服していき,今では性能が重視されるバッチや組み込み系のアプリケーション,変わったところでは火星探査車両の制御にも利用されるようになりました。 ここまでJavaが普及した大きな要因の一つに,一度作成したプログラムが多様なOSの上で動作するという点が挙げられます。この特徴を表す標語として「Write once, run

    Part4 仮想マシンの仕組みを理解する
    takaesu
    takaesu 2012/12/20
    仮想マシン
  • JavaVMのメモリ管理に関するまとめ(Javaヒープ、GC、ダンプ等) - ぺーぺーSEのブログ

    ブログはJava8(特にMetaspace)に対応していない。 下記にJava8以降に対応した記事を記載する(予定)。 blog.pepese.com JavaVMのメモリ領域について JavaVMが管理するメモリ領域について 階層1 階層2 階層3 説明 Javaヒープ JavaVM上で起動するJavaプログラムのリソースを管理する領域。New領域とOld領域で構成される。 l" New領域 新規オブジェクトと閾値(-XX:MaxTenuringThreshold)未満のオブジェクトが配置される。(Young領域とも呼ばれる) l l" Eden領域 新規のオブジェクトが配置される。 l l" From領域 CopyGC(ScavengeGC、マイナーGC)が実行された際に、使用中のオブジェクトはここへコピーされる。(S0やS1とも呼ばれる) l lー To領域 CopyGC(Scav

    JavaVMのメモリ管理に関するまとめ(Javaヒープ、GC、ダンプ等) - ぺーぺーSEのブログ
    takaesu
    takaesu 2012/12/20
    Javaのメモリ管理
  • Android のメモリ管理 #4 SoftReference と WeakReference を活用する | DevelopersIO

    オブジェクトの利用頻度とヒープ状況を判断して開放される。 アクセスの少ないオブジェクトから開放される。 OutOfMemoryError が発生する前に開放してくれる。 GC が実行されたとき、参照がひとつもない状態であれば開放される。 一時的に参照を保持しておきたい場合に有効。 WeakHashMap クラスで自動的に開放される HashMap も作れる。 こんな感じです。名前からして雰囲気は似ていますが、メモリ解放される条件は大きく違います。 一番大きな違いは GC が実行されたときに参照が残っていても開放されない可能性があるのが SoftReference で、 GC が実行されたときに参照が残っていなければ開放されるのが WeakReference です。少し分かりづらいので、実際の挙動を確認してみたいと思います。 メモリ解放のタイミングを確認してみる ということで、参照方法による

    Android のメモリ管理 #4 SoftReference と WeakReference を活用する | DevelopersIO
  • 1