GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara membatasi penggunaan memori berdasarkan aplikasi di linux?

Solusi 1:

'ulimit' adalah kontrol 'per-aplikasi'… sebenarnya per proses. Perintah ulimit shell adalah built-in shell yang mengatur batas untuk proses shell dan anak-anaknya. Masukkan perintah 'ulimit' dalam skrip yang memulai aplikasi Anda dan batas akan ditetapkan hanya untuk aplikasi ini.

Solusi 2:

Pada distro berbasis systemd juga bisa menggunakan systemd-run (yang secara tidak langsung menggunakan cgroups) . Misalnya:

systemd-run --scope -p MemoryLimit=1G firefox

Catatan:ini akan menanyakan kata sandi Anda tetapi aplikasi diluncurkan sebagai pengguna Anda. Jangan biarkan ini menyesatkan Anda sehingga berpikir bahwa perintah perlu dijalankan dengan sudo , karena itu akan menyebabkan perintah berjalan di bawah root, yang bukan merupakan niat Anda.

Jika Anda ingin tidak memasukkan kata sandi (memang, mengapa Anda memerlukan kata sandi untuk membatasi memori yang sudah Anda miliki) , Anda dapat menggunakan --user opsi, namun agar ini berfungsi, Anda perlu mengaktifkan dukungan cgroupsv2, yang saat ini perlu boot dengan systemd.unified_cgroup_hierarchy parameter kernel.


Linux
  1. Penggunaan Memori Linux

  2. Cara Memeriksa Penggunaan Memori di Server berbasis Linux

  3. Cara mengetahui penggunaan memori pengguna di linux

  1. Cara Memeriksa Penggunaan Memori Proses dengan Perintah pmap Linux

  2. Cara Membatasi Penggunaan CPU Suatu Proses Di Linux

  3. Linux – Batasi Penggunaan Memori Untuk Proses Linux Tunggal?

  1. Bagaimana Pipeline Membatasi Penggunaan Memori?

  2. Perintah Linux df

  3. Cara membatasi perintah pengguna di Linux