دستور Sysctl در لینوکس
در این مقاله نحوه استفاده از دستور sysctl
در لینوکس برای مشاهده و اصلاح پارامترهای هسته در زمان اجرا توضیح داده شده است.
استفاده ازsysctl
برای مشاهده پارامترهای هسته
برای مشاهده کلیه پارامترهای هسته فعلی، گزینه sysctl
، را با استفاده از -a
فراخوانی کنید:
sysctl -a
خروجی یک لیست بزرگ است که چیزی شبیه به شکل زیر خواهد بود که در آن هر خط نام پارامتر و مقدار آن را نشان می دهد:
abi.vsyscall32 = 1
debug.exception-trace = 1
debug.kprobes-optimization = 1
...
همه کاربران می توانند پارامترهای هسته فعلی را مشاهده کنند. فقط کاربر root می تواند مقادیر خود را تغییر دهد.
می توانید با وارد کردن نام آن به عنوان آرگومان در sysctl
، مقدار یک پارامتر واحد را بررسی کنید . به عنوان مثال ، برای بررسی مقدار swappiness فعلی ، تایپ می کنید:
sysctl vm.swappiness
خروجی:
vm.swappiness = 60
Swappiness یک ویژگی هسته لینوکس است که مشخص می کند چند بار سیستم از فضای swap استفاده خواهد کرد .
در این دستور sysctl
اطلاعات از دایرکتوری /proc/sys
خوانده می شود. دایرکتوری/proc/sys
مجازی است که شامل اشیاء پرونده ای است که می تواند برای مشاهده و تنظیم پارامترهای هسته فعلی استفاده شود.
همچنین می توانید با نمایش محتوای پرونده مناسب ، مقدار پارامتر را مشاهده کنید. تنها تفاوت در نحوه ارائه پرونده است. به عنوان مثال ، هر دو sysctl vm.swappiness
و cat /proc/sys/vm/swappiness
همان خروجی را دارند. هنگام استفاده از دایرکتوری sysctl
، اسلایدها با نقاط جایگزین می شوند و قسمت proc.sys
فرض می شود.
یک راز بزرگ درمورد 90 % هاستینگ های ایرانی، اورسل کردن بیش از حد است که باعث افت کیفیت سرورها میشود.
وان سرور با ارائه دسترسی های مختلف این امکان را به شما خواهد داد که تمامی منابع سرورتان را مدیریت و بررسی کنید و همچنین با ارائه گارانتی 100% برگشت وجه ریسک خرید شما را به %0 کاهش میدهد.
استفاده از sysctl
برای تغییر پارامترهای کرنل
برای تنظیم یک پارامتر کرنل در زمان اجرا ،دستور sysctl
را به همراه نام و مقدار پارامتر در قالب زیر اجرا کنید:
sysctl -w parameter=value
اگر مقدار شامل فضای خالی یا کاراکترهای ویژه است ، مقدار آن را بین “” قرار دهید. همچنین می توانید چندین parameter=value
زوج را در همان فرمان منتقل کنید.
به عنوان مثال ، برای فعال کردن ارسال بسته IPv4 ، اجرا کنید:
sysctl -w net.ipv4.ip_forward=1
این تغییر بلافاصله اعمال می شود ، اما پایدار نیست. پس از راه اندازی مجدد سیستم ، مقدار پیش فرض بارگیری می شود.
برای تنظیم یک پارامتر به طور دائم ، باید تنظیمات را در پرونده /etc/sysctl.conf
یا /etc/sysctl.d
بنویسید :
sysctl -w net.ipv4.ip_forward=1 >> /etc/sysctl.conf
روش دیگر برای تغییر پارامترها استفاده از دستورecho
برای نوشتن تنظیمات در پرونده های موجود در فهرست/proc/sys
است. به عنوان مثال ، به جای اجرای دستور فوق ، می توانید از موارد زیر استفاده کنید:
echo 1 > /proc/sys/net/ipv4/ip_forward
این گزینه -p
به شما امکان می دهد تنظیمات را از یک فایل پیکربندی بارگیری کنید:
sysctl -p /etc/sysctl.d/file_name.conf
وقتی فایلی داده نشد ، sysctl
پرونده /etc/sysctl.conf
را میخواند.
نتیجه گیری
دستورsysctl
به شما امکان می دهد پارامترهای هسته لینوکس را مشاهده و تغییر دهید.
لطفا جهت بهبهود کیفیت آموزش های ارسالی، نظرات خود را از طریق کامنت و درج ستاره ارسال کنید
اولین نفر باشید که نظر ارسال میکنید