ओरेकल दस्तावेज़ भी कहा गया है:
एक ही बात का परीक्षण करने के अन्य तरीके
नोट: वहाँ यह है कि जब जा रहा है JVM दुर्घटना का कारण हो सकता लिनक्स कर्नेल में एक ज्ञात बग था टी के साथ -XX :NUMA का उपयोग करें। बग 2012 में तय किया गया था, इसलिए यह लिनक्स कर्नेल के नवीनतम संस्करणों को प्रभावित नहीं करेगा। यह देखने के लिए कि क्या आपके कर्नेल में यह बग है, आप native reproducer चला सकते हैं।
कौन सा मैं यहाँ reproduced है अपनी सादगी प्रदर्शित करने के लिए:
http://docs.oracle.com/javase/7/docs/technotes/guides/vm/reproducer.c
प्रतिलिपि प्रस्तुत निर्माण करने के लिए, आप अपने वितरण पर निर्भर करता है numactl या numactl-devel संकुल स्थापित करने की आवश्यकता हो सकती है। विवरण के लिए man numa_maps
देखें।
#include <numaif.h>
#include <numa.h>
#include <stddef.h>
#include <sys/mman.h>
#include <stdint.h>
int main(void) {
if (numa_all_nodes_ptr == (void*)0) {
return -1;
}
size_t pagesize = getpagesize();
void* mapped_memory = mmap(NULL, 3 * pagesize, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
if (mapped_memory == MAP_FAILED) {
return -2;
}
void* page0 = mapped_memory;
void* page1 = (void*)((uintptr_t)page0 + pagesize);
void* page2 = (void*)((uintptr_t)page1 + pagesize);
// Set up the last page as interleaved.
mbind(page2, pagesize, MPOL_INTERLEAVE, numa_all_nodes_ptr->maskp,
numa_all_nodes_ptr->size, 0);
// Setup the last two pages as interleaved.
mbind(page1, 2 * pagesize, MPOL_INTERLEAVE,
numa_all_nodes_ptr->maskp, numa_all_nodes_ptr->size, 0);
*((char*)page2) = 2;
*((char*)page1) = 1;
*((char*)page0) = 0; // Crash here, when mbind_merge was broken.
return 0;
}
तो, मैं अस्पष्टता ले लिया मतलब है कि 2.6.19 पहले सुरक्षित संस्करण था।
स्रोत
2015-01-21 21:26:47
क्या आपने अपने कर्नेल को हाल ही में कुछ और अपग्रेड करने पर विचार किया था? –
आरएचईएल 5.1 (2007-11-07) बहुत पुराना है, शायद इसे अपग्रेड करने का समय है। –
@ पीटर मेरे अनुभव में NUMA प्रोसेसर के साथ काम करने वाले लोग आमतौर पर सॉफ़्टवेयर को अपडेट करने के प्रभारी नहीं होते हैं और इसे अद्यतन करने के लिए बहुत सारी नौकरशाही से गुज़रना पड़ता है। 2k कोर के साथ एक सुपरकंप्यूटर पर पिछले सप्ताह एक * पायथन 2.4 * इंस्टॉल किया गया .. – Voo