Merhaba,
serverımda shell_exec komutunu videolar üstüne logo basma olarak kullanıyorum. Ama kullandığım komut hemen serverımın ram tüketimini bitiriyor.
shell_exec("komutum 2>&1");
2>&1 buradaki bu şeyin ne olduğuna dair bilgimde yok. Acaba nasıl bir komut eklemeliyim ki hiç rame birşey yazmadan fonksiyonu çalıştırsın? veya rame dokuncaksada işlem sonrası o yaptığı iş için rami temizlesin?
Shell_exec Komutu
4
●824
- 31-01-2014, 02:51:32Üyeliği durduruldu
- 31-01-2014, 03:12:05shell_exec fonksiyonu verilen komutu çalıştırır. shell_exec aracılığıyla muhtemelen bir video application çalıştırıyor ve işlemlerinizi yaptırıyorsunuz. video işlemleri çok fazla cpu ve ram kullanır. bu işlem için bir kuyruk oluşturmak sunucuyu rahatlatabilir.
- 31-01-2014, 10:00:51Üyeliği durdurulduKonuya cevabın için teşekkür ederim. Fakat 27 tane serverım günde 900.000 tane videoya logo basıyor. hepsi'nin bir sırası mevcut. Ama işlem ne kadar hızlı biterse bir sonrakine o kadar hızlı geçer.ismaildikmen adlı üyeden alıntı: mesajı görüntüle
Bu işlem ram kullanımını yapıyor tamam hiç sıkıntı yok. Benim isteğim ise her yapma işlemi bittikten sonra ram şişiyor. Komudu vardır muhakak ki shell_exec de anlık ram yesin işlem sonrası ram şişmesin diye. Yoksa 32gb ramli makinada her 20 dakikada bir ram boşaltmak gerekiyor. - 31-01-2014, 12:43:17kullandığınız uygulama hakkında bilgi verseniz belki bir şeyler söyleyebiliriz. shell_exec sadece bir araç, hangi uygulamayı kullanıyorsunuz. ffmpeg filan mı?
- 02-02-2014, 03:07:28exec, shell_exec veya system gibi php fonksiyonları sadece sunucuya ilgili komutu göndermek için aracı görevi görür. Serverın Ramini şişirenin, videoların üzerine logoyu basan yazılımdan kaynaklandığını düşünüyorum ama şu şekil birşey önerebilirim.
Eğer aynı komutu ssh a giriş yapıp ssh dan manuel verdiğinizde bu problem ortaya çıkmıyorsa shell_exec yerine php ile ssh girişi yaptırıp komut göndertebilirsiniz.
Örn:
<?php $baglanti = ssh2_connect('IP ADRESİ', PORT); ssh2_auth_password($baglanti, 'SSH KULLANICI ADI', 'SSH ŞİFRESİ'); $stream = ssh2_exec($baglanti, 'KOMUT'); ?>Eğer ssh üzerinden gönderilen komuttada ram problemi oluyorsa, logoları videolara basan yazılımdan kaynaklı bir ram şişmesidir diye düşünüyorum.