Reboot Aplikasi ketika Membutuhkan Terlalu Banyak Memori

1

Beberapa aplikasi memulai dengan jejak memori kecil, tetapi perlahan-lahan tumbuh untuk mengambil terlalu banyak RAM. Apakah ada cara saya dapat secara otomatis mendeteksi ketika aplikasi mencapai ambang tertentu, dan kemudian membunuh dan meluncurkan kembali aplikasi?

Saya tahu bahwa saya bisa melihat jejak memori pada Activity Monitor, tetapi itu sepertinya tidak bisa dilakukan oleh AppleScript. Saya juga dapat melihat jejak memori aplikasi dengan menggunakan ps aux, tetapi jumlahnya tampaknya tidak cocok dengan Monitor Aktivitas.

Saya menghargai bantuan apa pun dengan ini

inspectorG4dget
sumber
Apakah Anda memiliki aplikasi spesifik? Restart Safari atau Kontak mungkin sangat berbeda dari memulai kembali aplikasi pengeditan dengan dokumen yang belum disimpan.
nohillside
@ patrix: pertanyaan bagus. Saya menggunakan fluidapp(aplikasi browser khusus situs) untuk membuat beberapa aplikasi untuk facebook, reddit, stackoverflow, dll. Posting ini dimotivasi oleh Facebook sebagai babi memori. Namun, idealnya saya ingin ini menjadi agnostik aplikasi, dengan kemungkinan pesan peringatan, meninggalkan pengguna akhir untuk memberikan go / no-go terakhir untuk reboot aplikasi. Apakah itu masuk akal?
inspectorG4dget

Jawaban:

1

Anda dapat mencoba cleanMyMac. Ini akan menampilkan ram yang tersedia dan memungkinkan Anda untuk menghapusnya. Anda juga bisa membuat pekerjaan cron yang mengeksekusi sudo purge untuk mencoba memperbaiki beberapa masalah ini. (meskipun saya tahu solusi itu bukan tanpa pencela dan skeptisnya)

Menurut pendapat saya, Applescript sendiri adalah babi memori besar.

Saya sudah mencoba untuk OCR sejumlah besar dokumen melalui Applescript yang memanggil Abbyy Fine Reader. Ini akan berjalan sekitar satu jam dan kemudian mac mac (tepat sebelum saya mendapatkan kesalahan mengatakan semua memori aplikasi yang tersedia telah digunakan).

Awalnya saya pikir itu masalah dengan Abbyy dan ukuran dokumen. Tapi ternyata masalahnya sebenarnya applescript. Sistem saya memiliki 16GB memori. Tapi Applescript akan mengatasinya dalam waktu kurang dari satu jam dengan dump dokumen ini.

Saya bahkan mencoba meretas berbagai hal dengan membuat cronjob yang mengeksekusi sudo setiap dua menit. Itu membantu. Tapi akhirnya tidak banyak. Satu-satunya hal yang membebaskan situasi memori adalah keluar dari Applescript.

Semua ini membuat kami beralih ke mengendalikan aplikasi Mac dengan ruby ​​menggunakan rb-scpt ruby-gem. (Permata itu memungkinkan kita untuk mengontrol aplikasi skrip script applescript melalui ruby).

https://rubygems.org/gems/rb-scpt/versions/1.0.1

Solusi ruby ​​script memperbaiki masalah crash berulang karena kurangnya memori yang tersedia. Saya telah memproses dokumen-dokumen ini selama berhari-hari (bukan berjam-jam) tanpa satu masalah. Memori saya yang tersedia belum beranjak sejak saya memulai skrip. (ram dimonitor oleh CleanMyMac)

Applescript baik untuk pekerjaan kecil. Tapi itu sama sekali bukan tugas melakukan pekerjaan serius.

Bob
sumber