জন্য ডকুমেন্টেশনে নির্দেশ , nginx ডকুমেন্টেশন বলেছেনaccess_log
বাফার আকারটি কোনও ডিস্ক ফাইলে পারমাণবিক লেখার আকারের বেশি হবে না।
এই আকারটি আমার সিস্টেমে কী রয়েছে তা আমি কীভাবে নির্ধারণ করতে পারি?
জন্য ডকুমেন্টেশনে নির্দেশ , nginx ডকুমেন্টেশন বলেছেনaccess_log
বাফার আকারটি কোনও ডিস্ক ফাইলে পারমাণবিক লেখার আকারের বেশি হবে না।
এই আকারটি আমার সিস্টেমে কী রয়েছে তা আমি কীভাবে নির্ধারণ করতে পারি?
উত্তর:
কখনও চেয়ে ভাল দেরী :)
দ্রুত উত্তরটি হ'ল "2,147,479,552 বাইট, কার্নেল সংস্করণ যদি 3.14 বা নতুন হয়"
বিস্তারিত উত্তর:
আমি যতদূর বুঝতে পেরেছি, এটি সাইকাল লেখার বিষয়ে:
http://man7.org/linux/man-pages/man2/write.2.html
1) কোনও পসিক্স সিস্টেম (লিনাক্স, বিএসডি, সমস্ত ইউনিক্স) MAX_SSIZE বাইট পর্যন্ত লিখতে সক্ষম হওয়ার গ্যারান্টিযুক্ত
POSIX.1 এর মতে, গণনাটি যদি SSIZE_MAX এর চেয়ে বেশি হয় তবে ফলাফলটি বাস্তবায়ন-সংজ্ঞায়িত হয়; লিনাক্সের উপরের সীমাটির জন্য নোটগুলি দেখুন।
# getconf SSIZE_MAX
32767
2) লিনাক্সটি 1.99 গিগাবাইট পর্যন্ত লিখতে সক্ষম হওয়ার গ্যারান্টিযুক্ত (এবং এটি লিনাক্স কার্নেল সংস্করণ 3.14 এবং আরও নতুন সংস্করণের জন্য পারমাণবিক অপারেশন)
লিনাক্সে, লিখুন () (এবং একই ধরণের সিস্টেম কল) সর্বাধিক 0x7ffff000 (2,147,479,552) বাইট স্থানান্তর করবে, বাস্তবে স্থানান্তরিত বাইটের সংখ্যা ফিরে আসবে। (এটি 32-বিট এবং 64-বিট উভয় সিস্টেমে সত্য)
তবে এটি কেবল লিনাক্স কার্নেল 3.14 থেকে ন্যায্য পারমাণবিক অপারেশন
POSIX.1-2-2008 / SUSv4 বিভাগ XSI 2.9.7 অনুসারে ("নিয়মিত ফাইল অপারেশনের সাথে থ্রেড মিথস্ক্রিয়া"):
নীচের সমস্ত ফাংশন একে অপরের প্রতি পার্সোনিক হতে হবে POSIX.1-2-2008 এ উল্লিখিত প্রভাবগুলিতে যখন তারা নিয়মিত ফাইল বা প্রতীকী লিঙ্কগুলিতে কাজ করে: ...
পরবর্তীকালে তালিকাভুক্ত এপিআইগুলির মধ্যে লিখিত () এবং লিখনভ (2) রয়েছে। এবং থ্রেডগুলি (এবং প্রক্রিয়াগুলি) জুড়ে পারমাণবিক হওয়া উচিত এমন প্রভাবগুলির মধ্যে রয়েছে ফাইল অফসেটের আপডেট। যাইহোক, লিনাক্স সংস্করণ 3.14 এর আগে, এটি ছিল না: যদি দুটি প্রক্রিয়া যা একটি ওপেন ফাইলের বিবরণ ভাগ করে (ওপেন (2) দেখুন) একই সময়ে একটি লেখ () (বা Writv (2)) সঞ্চালন করে, তবে আমি / ও অপারেশনগুলি ফাইলটি অফসেট আপডেট করার ক্ষেত্রে পারমাণবিক ছিল না, ফলস্বরূপ যে দুটি প্রক্রিয়া দ্বারা ডেটা আউটপুট ব্লকগুলি (ভুলভাবে) ওভারল্যাপ হতে পারে। এই সমস্যাটি লিনাক্স 3.14 এ স্থির করা হয়েছিল।
এই সুপার ব্যবহারকারীর উত্তরের পারমাণবিক লেখার আকার কী তা সম্পর্কে একটি ভাল সংজ্ঞা ছিল।
এটি হার্ডওয়্যার সেক্টরের আকার হিসাবে কমপক্ষে বৃহত, যা পারমাণবিক পঠন / লেখার আকার।