huge-pages

x86 非対称メモリチャネルを使用した Linux/GRUB の物理メモリアドレッシングと hugepage の割り当て
huge-pages

x86 非対称メモリチャネルを使用した Linux/GRUB の物理メモリアドレッシングと hugepage の割り当て

非対称デュアルチャネルで構成された2つのDRAM DIMMを備えた最新のAMD / Intel x86システムがあるとします。そのうちの1つは16GB、もう1つは48GBです。 この場合、より大きなDIMMで32 GBの一般的な使用を無効にし、それを32 * 1 GB Hugepagesとしてマークしようとします。これにより、巨大なページ領域が単一のチャネルとしてアクセスされ、他の領域が完全な二重チャネルとしてアクセスされます。 上記のシナリオをLinuxで実装できますか?それではどうですか? AFAIK、x86非対称メモリチャネルの物理アドレス指定は、チャ...

Admin

ラージページの同期割り当てを強制する方法は?
huge-pages

ラージページの同期割り当てを強制する方法は?

vm.nr_hugepagesLinuxでは、sysctlまたは/sys/kernel/mm/hugepages/hugepages-<SIZE>kB/nr_hugepagessysfsファイルに書き込むことで(透明ではない)hugepageを割り当てることができます。 # to allocate 2 GiB worth of huge pages, assuming a huge page size of 2 MiB (default on x86) $ sysctl vm.nr_hugepages=1024 # likewise, but ...

Admin

Hubetlbコントローラはどこで自動的に有効になりますか?
huge-pages

Hubetlbコントローラはどこで自動的に有効になりますか?

Ubuntu 22.04 cgroup2システムのkvm仮想マシン(8 vcpu + 8Gメモリ)、 cat /sys/fs/cgroup/cgroup.subtree_control hugetlb controller included; しかし、cgroup2システムを搭載したUbuntu 22.04の別のkvm仮想マシン(4 vcpu + 4Gメモリ)、 cat /sys/fs/cgroup/cgroup.controllers cpuset cpu io memory hugetlb pids rdma misc cat /sys/fs/cgro...

Admin

/dev/hugepagesの権限をどのように変更しますか?
huge-pages

/dev/hugepagesの権限をどのように変更しますか?

/dev/hugepages次のファイルを開き、巨大なページを割り当てるアプリケーションがあります。現在はルートが必要です。 権限をどのように変更しますか? F38によって自動的にインストールされます。 #/usr/lib/systemd/system/dev-hugepages.mount # SPDX-License-Identifier: LGPL-2.1-or-later # # This file is part of systemd. # # systemd is free software; you can redistribute i...

Admin

実際の問題
huge-pages

実際の問題

取締役のお知らせ 私はこの質問(少し修正済み)をStackOverflowの質問(クロスポストへの強力な反対のために削除しました)から移動しましたが、まだ回答が提供されておらず、ここでより適切かもしれません。 StackOverflowの質問には2つのコメント(答えはありません)があります。以下は、これらのコメントの簡単な要約です(これを理解するために実際の質問を読む必要があるかもしれません)。 ファイルシステムアプローチをlibhugetlbfs使用すると、さまざまなタスクを実行できます。 それは私にあまり説得力がありません。私がアプリケーションプログ...

Admin

Ubuntuのcgroup v2でHugeTLBコントローラを有効にする方法
huge-pages

Ubuntuのcgroup v2でHugeTLBコントローラを有効にする方法

有効にしようとしています。巨大なTLB私のシステムのcgroup v2にコントローラがありますが、これを行う方法がわかりません。 私のシステムのコントローラのリストは次のとおりです。 cat /sys/fs/cgroup/cgroup.controllers cpuset cpu io memory pids rdma 私のシステムに表示されるmeminfoは次のとおりです。 cat /proc/meminfo | grep Huge AnonHugePages: 0 kB ShmemHugePages: 0 kB File...

Admin

Linuxスワップパーティションが大きすぎますか?
huge-pages

Linuxスワップパーティションが大きすぎますか?

Linuxスワップパーティションが大きすぎますか? 私は答えが「いいえ」だと確信していますが、それについての資料が見つからなかったので尋ねたいと思いました。 これと比較して、デフォルトのWindowsスワップファイルpagefile.sysが大きすぎる可能性があります。一般的に引用される上限は、インストールされたRAMの3倍です。そうしないと、システムが正常に動作しなくなる可能性があります。 違いは、Linux仮想メモリはコンパイルオプションは言うまでもなく、カーネルパラメータを介して高度に設定可能ですが、Windows仮想メモリはほとんど存在しないことです...

Admin

FreeBSDでhw.pagesizeを増やす
huge-pages

FreeBSDでhw.pagesizeを増やす

私のサーバーは不安定です。フリーBSD 13。 ~から文書私はsysctl読むことができるhw.pagesize 変更できない進む。このタイプの主張はカーネルによって異なりますので、これは私にとって意味があります。 私もそこから読むことができます: Some of the variables which cannot be modified during normal system oper- ation can be initialized via loader(8) tunables. This can for example be done by...

Admin

Linuxで大きなページ管理を有効にする
huge-pages

Linuxで大きなページ管理を有効にする

いくつかの実験をしています。仮想アドレス変換を実行するときに、21ビットページオフセットを変更せずに維持できるように、いくつかの大きなページ(2MB)を実験に使用しました。インターネットで巨大なページを有効にする方法についていくつかのヒントを見つけました。これはうまくいきます。ところで、その原理についてはよく分からないので、ぜひ見たいです。 It requires Hugepages and assumes they are mounted on `/mnt/hugetlbfs/`. This value can be modified by changin...

Admin

Linuxは巨大なページのみを使用します。
huge-pages

Linuxは巨大なページのみを使用します。

私はx64 Linuxシステムを使用しています。報告されたページサイズgetconfは4kです。 $ getconf PAGESIZE 4096 カーネルがすべてのメモリ割り当てに大きなページ(2Mまたは4M)のみを使用したいと思います。これにより、無駄なメモリを処理するのに十分なRAMがあると計算しました。 すべての割り当てにhugepagesを使用するようにLinuxカーネルを設定する方法は? ...

Admin

起動時の大容量ページ割り当ての利点
huge-pages

起動時の大容量ページ割り当ての利点

[StackOverflowで不適切に見える場所に質問を移動しました。] カーネルは、default_hugepagesz=1Gデフォルトのページサイズを定義するオプションで始まります。したがって、アプリケーションに大量のメモリが必要な場合、カーネルはこれに1Gページを割り当てます。 カーネルが起動すると、hugepages=N起動時にN個の大きなページが割り当てられます。では、この場合、カーネルは自動的にこのプールからページを取得し、メモリ割り当て時間を節約しますか? このプールに使用可能なページがない場合、カーネルはどのように大きなメモリを割り当てますか...

Admin

RHEL6でOracle 18C xeの大容量ページを有効にする
huge-pages

RHEL6でOracle 18C xeの大容量ページを有効にする

私はoracle AMMからASMMの巨大なページに切り替えようとしてきました。 RHEL 6で次のように変更しました。 /etc/sysctl.confに次のエントリを追加しました(Hugepages_setting.shで提案されているように)。 vm.nr_hugepages=777 /etc/security/limits.confに次のエントリを追加しました。 oracle soft memlock 2831155 oracle hard memlock 2831155 サーバ...

Admin

1GBの大容量テーブルの数をどのように確認できますか(そしてどの文書に従うべきですか?)
huge-pages

1GBの大容量テーブルの数をどのように確認できますか(そしてどの文書に従うべきですか?)

Ubuntu 20.04では、KVMがどのhugepagesを使用しているかを調べたいと思います。 2048 KiB(デフォルトサイズ)ページ数を変更すると、これが反映されていることがわかります。/proc/meminfo :~$ echo 0 |sudo tee /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages 0 :~$ cat /proc/meminfo | grep Huge AnonHugePages: 0 kB ShmemHugePages: 0 kB Fi...

Admin

透明な巨大ページを動的に無効にできますか?
huge-pages

透明な巨大ページを動的に無効にできますか?

無効にするTHP 私たちはすべての635マシンで以下を行いましたRHEL(私たちはrhel 7.5そのバージョンを持っていました)。 この行は、私たちがすべてのコンピュータで実行しているbashスクリプトからのものです。 ステップ1 [[ -f /sys/kernel/mm/transparent_hugepage/enabled ]] && echo never > /sys/kernel/mm/transparent_hugepage/enabled [[ -f /sys/kernel/mm/transparent_hug...

Admin

実験
huge-pages

実験

libhugetlbfsを使用して、1GiB hugepagesを含むマルチスレッドアプリケーションのメモリ割り当てをバックアップしようとしています。ただし、メインスレッドの割り当てにのみ巨大なページが割り当てられます。 Glibc mallocスタジアムの最大数を1に制限すると、すべてのスレッドのすべての割り当てが巨大なページにバックアップされます。単一の競技場への同時アクセスに対する競合が発生するため、これは理想的ではありません。 libhugetlbfsを介してすべてのスレッドがhugepagesを使用するように透過的に強制する方法はありますか? ...

Admin