افزایش سرعت کپی و paste در لینوکس

افزایش سرعت Copy/Paste تا چند برابر در لینوکس

در لینوکس، سرعت انتقال فایل‌ها به عوامل مختلفی مانند اندازه فایل، نوع دیسک (HDD یا SSD) و اندازه بافر خواندن/نوشتن بستگی دارد. یکی از ساده‌ترین روش‌ها برای افزایش سرعت استفاده از گزینه –buffer-size در دستور cp است:

cp –buffer-size=64M source dest
نکته: افزایش اندازه بافر تا حد مشخصی سرعت را بالا می‌برد، اما بعد از یک مقدار، تأثیر آن کاهش می‌یابد و فقط حافظه RAM مصرف می‌شود. برای SSD معمولاً 16–64MB کافی است، در حالی که برای HDDهای بزرگ 64–128MB مناسب است.

راهنمای عملی: تعیین بهترین بافر برای cp

برای تعیین بهترین اندازه بافر، باید به اندازه فایل‌ها و حجم حافظه موجود توجه کنیم. افزایش بیش از حد بافر باعث فشار به RAM و گاهی کاهش سرعت می‌شود. جدول زیر پیشنهادهای عملی را بر اساس اندازه فایل ارائه می‌دهد:

اندازه فایل بافر پیشنهادی توضیح
1 MB 64 KB – 256 KB فایل کوچک است؛ بافر بزرگ فایده زیادی ندارد و مصرف RAM را افزایش می‌دهد.
10 MB 256 KB – 1 MB فایل متوسط؛ بافر متوسط باعث کاهش تعداد عملیات خواندن/نوشتن می‌شود.
100 MB 1 MB – 8 MB بافر بزرگ‌تر سرعت انتقال را روی HDD و SSD افزایش می‌دهد.
500 MB 8 MB – 32 MB خواندن بلوک‌های بزرگ باعث کاهش overhead در I/O و افزایش throughput می‌شود.
1 GB 16 MB – 64 MB فایل بزرگ؛ بافر بزرگ‌تر تعداد عملیات خواندن/نوشتن را کاهش می‌دهد، اما مصرف RAM بیشتر است.
2 GB 32 MB – 128 MB مخصوصاً روی HDDهای قدیمی، سرعت انتقال به‌طور چشمگیری افزایش می‌یابد. SSD نیازی به بافر بسیار بزرگ ندارد.
5 GB 64 MB – 256 MB فایل‌های بسیار بزرگ؛ افزایش بافر تا 256 MB مفید است، اما بیش از آن معمولاً فایده چندانی ندارد.

نحوه استفاده عملی

مثال‌های واقعی برای تنظیم بافر بر اساس اندازه فایل:

فایل کوچک 1 MB:

cp –buffer-size=128K smallfile.txt /destination/

فایل متوسط 1 GB:

cp –buffer-size=32M bigfile.iso /destination/

فایل بزرگ 2 GB:

cp –buffer-size=64M verybigfile.iso /destination/

با تغییر بافر می‌توان سرعت انتقال فایل‌ها را بهینه کرد و از هدر رفتن منابع جلوگیری نمود.

نکات کلیدی برای بهینه‌سازی سرعت

1. HDD vs SSD

  • روی SSD، افزایش بافر خیلی بزرگ تأثیر زیادی ندارد؛ معمولاً 16–32MB کافی است.
  • روی HDD، بافر بزرگ‌تر تا 128–256MB می‌تواند سرعت انتقال را به‌طور قابل توجهی افزایش دهد.

2. محدودیت RAM

  • اگر RAM سیستم کم باشد، استفاده از بافرهای بسیار بزرگ (>256MB) باعث swap شدن و کاهش سرعت می‌شود.

3. فایل‌های متعدد کوچک

  • بافر بزرگ تنها برای فایل‌های بزرگ موثر است.
  • برای انتقال هزاران فایل کوچک، بهتر است از ابزارهایی مانند:
rsync -a source/ dest/

یا ترکیب:

tar cf – source/ | pv | cp /destination/

استفاده شود تا سرعت افزایش یابد و مصرف RAM بهینه بماند.

جمع‌بندی

تنظیم بافر cp یک روش ساده و مؤثر برای افزایش سرعت Copy/Paste در لینوکس است. با انتخاب بافر مناسب بر اساس اندازه فایل و نوع دیسک می‌توان سرعت انتقال را تا چند برابر بهبود داد، بدون آنکه منابع سیستم هدر رود.


✍️ نویسنده: حسین سیلانی

🔗 درباره من: seilany.ir

📢 نویسندگی و مشارکت در وبلاگ: t.me/seilany