日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java numa_Java只使用2个CPU中的1个和NUMA(Neo4J)

發布時間:2023/12/10 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java numa_Java只使用2个CPU中的1个和NUMA(Neo4J) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我正在研究一個java程序來創建一個非常大的Neo4J數據庫.我使用batchinserter和Executors.newFixedThreadPool來加快速度.我的Win2012R2服務器有2個cpu(2×6核心2×6超線程)和256GB NUMA架構.我的問題是,我的導入器只使用1個CPU(節點).

是否有可能只使用一個javaprocess的NUMA節點?

Java選項:-XX:UseNUMA -Xmx64g -Xms64g

解決方法:

目前尚不清楚每個節點分配了多少內存 – 是256GB還是128GB?無論哪種方式,據我所知,設置最大堆大小小于分配給節點的內存量通常意味著應用程序保持連接到單個節點.據我所知,在Windows,Solaris和Linux下都是如此.

即使您將JVM最大堆大小分配給節點分配的內存大小,如果堆不超過該大小,該進程也不會溢出,因為JVM對象分配器將始終嘗試在其中創建新對象.與創建線程相同的內存池 – 包括新的線程對象.

NUMA體系結構的主要設計目標是使不同的進程能夠在不同的CPU上運行,每個CPU都具有本地化的內存訪問權限,而不是讓所有CPU都爭用相同的全局共享內存.除非您可以安排特定線程始終使用與特定節點關聯的本地內存(線程關聯),否則在多個節點上運行相同的進程并不一定有效.否則,遠程內存訪問會降低您的速度.

我懷疑要在您的示例中使用多個節點,您需要將不同的任務分配給不同的節點,或者跨多個節點并行執行相同的任務.在后一種情況下,您需要確保每個節點在本地內存中都有相同數據的副本.有些庫可用于管理Java代碼中的線程關聯.

標簽:java,windows,neo4j,numa

來源: https://codeday.me/bug/20190702/1355122.html

總結

以上是生活随笔為你收集整理的java numa_Java只使用2个CPU中的1个和NUMA(Neo4J)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。