Saya sedang menjalankan pdftoppm
untuk mengubah PDF yang disediakan pengguna menjadi gambar 300DPI. Ini berfungsi dengan baik, kecuali jika pengguna menyediakan PDF dengan ukuran halaman yang sangat besar. pdftoppm
akan mengalokasikan cukup memori untuk menampung gambar 300DPI dari ukuran itu dalam memori, yang untuk halaman persegi 100 inci adalah 100 * 300 * 100 * 300 * 4 byte per piksel = 3,5GB. Seorang pengguna jahat hanya bisa memberi saya PDF besar-konyol dan menyebabkan semua jenis masalah.
Jadi yang ingin saya lakukan adalah meletakkan beberapa batasan keras pada penggunaan memori untuk proses anak yang akan saya jalankan - proses saja mati jika mencoba mengalokasikan lebih dari, katakanlah, 500MB memori. Apakah itu mungkin?
Saya tidak berpikir ulimit dapat digunakan untuk ini, tetapi apakah ada satu proses yang setara?
docker
?