கிட்டத்தட்ட நான்கு வருட இடைவெளிக்குப் பிறகு (காண்க "ஜெமாலோக் எல்லாம்») ஒதுக்கீட்டாளரின் 5.3.1 பதிப்பு வெளியிடப்பட்டது ஜெமல்லோக் – துண்டு துண்டாகப் பிரிவதைத் தடுப்பதையும், அளவிடக்கூடிய ஒருங்கமைவிற்கான ஆதரவையும் வலியுறுத்தும் malloc(3)-இன் ஒரு செயலாக்கம்.
இந்தப் புதிய வெளியீட்டில், பிழைத் திருத்தங்கள், புதிய அம்சங்கள், செயல்திறன் மேம்படுத்தல்கள் மற்றும் பயன்பாட்டு எளிமை மேம்பாடுகள் உள்ளிட்ட 390-க்கும் மேற்பட்ட திருத்தங்கள் இடம்பெற்றுள்ளன.
இந்தத் திட்டம் C மொழியில் எழுதப்பட்டு, BSD உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது.
புதிய வாய்ப்புகள்:
- pvalloc(3) ஆதரவு.
- பிழைத்திருத்த உருவாக்கத்தில் இரட்டை விடுவிப்பு கண்டறியப்பட்டது;
- நினைவக-மேப்பிங் குறிப்பீட்டை இயக்குவதற்காக, --enable-pageid தொகுப்பு விருப்பம் சேர்க்கப்பட்டது.
- செயல்திறன் பகுப்பாய்விற்கான அதிகபட்ச ஸ்டாக் ஆழத்தைக் கட்டுப்படுத்த, prof_bt_max என்ற இயக்க நேர அளவுரு சேர்க்கப்பட்டது;
- secure_getenv என்பதற்குப் பதிலாக getenv-ஐப் பயன்படுத்த, --enable-force-getenv என்ற தொகுப்பு விருப்பம் சேர்க்கப்பட்டது;
- sbrk(2) பயன்பாட்டை முடக்க, --disable-dss தொகுப்பு விருப்பம் சேர்க்கப்பட்டது;
- திரெட் கேஷில் உள்ள உருப்படிகளின் எண்ணிக்கையைக் கட்டுப்படுத்த, tcache_ncached_max என்ற கம்பைல் ஆப்ஷன் சேர்க்கப்பட்டுள்ளது.
- calloc-ஐ அழைக்கும்போது, ஒதுக்கப்பட்ட நினைவகத் தொகுதிகளைப் பூஜ்ஜியமாக்குவதற்கு kernel அல்லது memset பயன்படுத்தப்படுகிறதா என்பதைத் தீர்மானிக்க, calloc_madvise_threshold என்ற இயக்க நேர அளவுரு சேர்க்கப்பட்டது;
- இயக்க நேரத்தில் /etc/malloc.conf கோப்பிலிருந்தோ அல்லது MALLOC_CONF சூழல் மாறியிலிருந்தோ உள்ளமைப்புகளைப் படிப்பதை முடக்குவதற்காக, --disable-user-config என்ற தொகுப்பு நேர விருப்பம் சேர்க்கப்பட்டுள்ளது.
- பெரிய நினைவகத் தொகுதிகளை, அதாவது 4 * PAGE அல்லது அதற்கு மேற்பட்ட அளவுள்ள தொகுதிகளை ஒதுக்கும்போது, நினைவக மேல்செலவைக் குறைக்கும் புதிய கிடைக்கக்கூடிய அளவு கணக்கீட்டு வழிமுறையை இயக்குவதற்காக, disable_large_size_classes என்ற இயக்கநேர அளவுரு சேர்க்கப்பட்டுள்ளது.
- process_madvise-இன் பயன்பாடு இயக்கப்பட்டு, ஒவ்வொரு madvise "தொகுதியிலும்" உள்ள அதிகபட்ச நினைவகப் பகுதிகளின் எண்ணிக்கையைக் கட்டுப்படுத்த, process_madvise_max_batch என்ற இயக்கநேர அளவுரு சேர்க்கப்பட்டது;
- mallctl இடைமுகங்கள் சேர்க்கப்பட்டன:
- opt.prof_bt_max;
- அரங்கம்.
- thread.tcache.max என்பதை மாற்றி, தற்போதைய திரெட்டின் tcache_max-ஐப் பெறவும்;
- தற்போதைய திரெட்டின் ncached_max-ஐ மாற்றிப் பெறுவதற்கு thread.tcache.ncached_max.write மற்றும் thread.tcache.ncached_max.read_sizeclass ஆகியவற்றைப் பயன்படுத்தவும்.
- பயன்படுத்தப்பட்ட ஹியூஜ்பேஜ் அளவைத் திருப்பியளிக்க arenas.hugepage, மேலும் இது malloc புள்ளிவிவரங்களுக்கும் ஏற்றுமதி செய்யப்படுகிறது;
- தற்போதைய செயலில் உள்ள பைட்டுகளின் தோராயமான அளவைப் பெற approx_stats.active-ஐப் பயன்படுத்தலாம்; இதனை மற்ற பெறப்பட்ட புள்ளிவிவரங்களுடன் ஒப்பிடக்கூடாது.
- பல பிழைகளும் சரிசெய்யப்பட்டு, ஆவணங்களும் மேம்படுத்தப்பட்டுள்ளன.
ஆதாரம்: linux.org.ru
