主なプログラム言語と使用メモリ量をチェックする関数
Python、Java、Node.js、Rubyなど、主なプログラム言語と使用メモリ量をチェックする関数をまとめました。
更新日: 2023.2.23公開日: 2023.2.21
cyclabo
チューブレスタイヤのビード上げについては、ブースターやCO2ボンベを使えば即解決することもありますが、逆にプロショップでも「業務用のコンプレッサーを使ってもビードが上がらない」というケースもあるそうです。
そうしたことを考えると、ビードが上がらない原因と原因を解決する工夫を知っておいた方が、対処する際の目安になります。
Python
psutilモジュールを使用することで、現在のプロセスのメモリ使用量を取得することができます。
import psutil
process = psutil.Process()
memory_info = process.memory_info().rss / 1024 / 1024 # RSS(Resident Set Size)をMBに変換
print("Memory usage: ", memory_info, "MB")
Java
RuntimeクラスのtotalMemory()とfreeMemory()メソッドを使用して、現在のプロセスのメモリ使用量を取得することができます。
long totalMemory = Runtime.getRuntime().totalMemory();
long freeMemory = Runtime.getRuntime().freeMemory();
long usedMemory = totalMemory - freeMemory;
System.out.println("Memory usage: " + usedMemory + " bytes");
C++
C++では、Windows.hヘッダファイルに含まれるGlobalMemoryStatus()関数を使用して、メモリ使用量を取得することができます。
#include <windows.h>
MEMORYSTATUS memStatus;
memStatus.dwLength = sizeof(memStatus);
GlobalMemoryStatus(&memStatus);
DWORDLONG memoryUsed = memStatus.dwTotalPhys - memStatus.dwAvailPhys;
std::cout << "Memory usage: " << memoryUsed / 1024 << " KB" << std::endl;
JavaScript
performanceオブジェクトを使用して、現在のプロセスのメモリ使用量を取得することができます。
let memoryUsage = window.performance.memory.usedJSHeapSize / 1024 / 1024;
console.log("Memory usage: ", memoryUsage, "MB");
Node.js
Node.jsでは「process.memoryUsage()」でプロセスが使用しているメモリの量を取得できます。
const used = process.memoryUsage();
for (let key in used) {
console.log(`${key} ${Math.round(used[key] / 1024 / 1024 * 100) / 100} MB`);
}
Ruby
Rubyには、メモリ使用量を取得するための標準ライブラリであるobjspaceがあります。以下のように使用します。
require 'objspace'
obj_size = ObjectSpace.memsize_of(object)
Go Lang
Go Langには、ランタイムメトリクスを取得するためのruntimeパッケージがあります。以下のように使用します。
import "runtime"
var m runtime.MemStats
runtime.ReadMemStats(&m)
fmt.Printf("Alloc = %v MiB", m.Alloc / 1024 / 1024)