Mac OS X'deki uygulama başına gaz ağı bant genişliği


36

İTunes'un tüm bant genişliğimi emiyor gibi göründüğünü ve indirirken web'i kullanan diğer uygulamalarla iyi oynamadığını fark ettim. Aslında, iTunes Store'da büyük veya çok sayıda dosya indirirken (podcast'ler, TV şovları, büyük uygulamalar vb.) Gezinirken bile yeterince bant genişliği vermiyor.

Tüm indirmelerimin mümkün olan en kısa sürede alınması ile ilgilenmiyorum, gerçekten düşük önceliğe sahipler ve uyanıkken bunu yapmak zorunda kalmamayı tercih ediyorum, ancak yenile düğmesine basamıyorum. m yatakta ve zaten unuttum.

İTunes'un web tarayıcılarını veya diğer uygulamaları engellemeden indirme bandını sınırlandırmak için Terminal aracılığıyla bir uygulama veya araç var mı?

FOSS / GPL yazılımı tercih edilir, ancak ödeme yazılımı da kabul edilebilir.


Ağ Bağlantısı Şartlandırıcı tüm uygulamalar için bant genişliğini sınırlamak için çok iyidir apple.stackexchange.com/questions/164959/…
Khaled Annajar

Bu soru benim özel kullanımım için büyük ölçüde modası geçmiş oldu. Düzenli olarak iTunes içerisindeki içeriği nadiren indiriyorum (podcast'ler artık yalnızca iPhone'da üçüncü taraf bir uygulama, iTunes için AppleTV için iTunes satın alımları yapıyor ve uygulamaları bilgisayarla senkronize etmiyor).
dotHTM

Yanıtlar:


8

GUI:

CLI (portlara özgü filtreleme yok ancak uyarlanabilir):

Bu araçlar, portlara veya port menzillerine filtre kriteri olarak dayanmaktadır. Uygulamanızın hangi bağlantı noktalarını kullandığını bilmiyorsanız, belgelerini kontrol edebilir veya lsofuygulama çalışırken bağlantı noktası numaralarını göstermek için kullanabilirsiniz.

sudo lsof -i -P

Çoğu ya bütün araçları kullanacağız ipfw resmen lehine önerilmemektedir hangi pf bu çözümlerin OS X 10.9 ve sonrasında üzerinde çalışacak eğer çok emin değil.


5

Eski soru, ama ben sadece benzer bir problemin kalınlığına girdim, bu yüzden cevaplayacağımı düşündüm.

Sorun muhtemelen ISS'nizdeki trafik şeklinden kaynaklanıyor olabilir. Müşterilere daha iyi akış hizmeti sağlamak için bilinen içerik sağlayıcılara gelen trafiği agresif bir şekilde önceliklendiriyorlar. Bazı durumlarda çok fazla ileri gittiklerini iddia ediyordum - Ben sadece bir arka plan iCloud fotoğraf yüklemesinin 45000 ms'den fazla ping sürelerine neden olduğu benzer bir sorun teşhis ettim.

Sorunu çözmek için, ISS'nin trafiğinin şekillenmesini, diğer tüm uygulamalardan tamamen geçen bant genişliğini tamamen engellemesini önlemek için, bilgisayarınızın kullanacağı toplam bant genişliği miktarını azaltabilirsiniz. İronik olarak, bu, ağınızdaki diğer bilgisayarların performansını açıkça artırmanın yanı sıra, kendi bilgisayarınızda tarama performansını da artıracaktır. Örneğin, 15 MB / sn aşağı akış başlığı varsa, bilgisayarınızı yalnızca 12 Mb / sn kullanarak sınırlayabilirsiniz, ve ISS algoritması artık trafiğinizi agresif bir şekilde şekillendirme gereğini görmeyecektir:

sudo ipfw pipe 1 config bw 12Mbits/s
sudo ipfw add 1 pipe 1 tcp from any to me

Benim durumumda, yukarı yönlü bant genişliği (ISS'im tarafından 1Mbps'de sınırlandı) sınırlayıcı faktördü, bu yüzden aşağıdakileri koştum, sorunumu çözdüm:

sudo ipfw pipe 1 config bw 768Kbits/s
sudo ipfw add 1 pipe 1 tcp from me to any

Bu komutların yalnızca yeniden başlatılıncaya kadar etkili olacağını, ancak kuralı iptal etmek için aşağıdakileri yapmanız gerektiğini unutmayın:

ipfw delete 1

IPBS için FreeBSD kullanıcı sayfasını buldum, ancak Wikipedia'ya göre, ipfw 10.4 ile 10.5 arasında başlayan OS X'te vurgulandı. Bugün 10.10'daki kurulumumda ipfw'yi bulamıyorum ve hem Homebrew hem de MacPorts, ipfw için aktif bir şekilde geliştirilmiş kurulumları bulunmuyor.
dotHTM

2
ipfwos x'de durduruldu, ama varpf
Chris


4

IceFloor'u [Mountain] Lion'da kullanın


IceFloor'un uygulama merkezli olmaktan daha protokol merkezli olduğunu keşfettikten sonra bu cevabı küçümsüyorum. Yani sadece belirli bir uygulamayı kısıtlamak istiyorsanız, bu zor.
knocte

Çünkü IceFloor'ı keşfetmek, uygulama başına ağ erişimini engellememe izin veren Vallum'u bulmamı sağladı.
skplunkerin

2

Bu gerçekten ters bir düşüncedir, ancak bunu yapmak için kurallar yazmak için Mac OS X'in yerleşik ipfw ve dummynet'ini kullanabilirsiniz. Bu araçlar için man sayfalarına bakınız.


OSX'te tam da bunu yapan birinin videosu: youtube.com/watch?v=VgwR230coOw
Prof. Falken

2

Mevcut gelişmelerle ilgili olarak OS X 10.10, ipfwgenellikle atıfta bulunulan çalıştırılabilir dosyalar artık mevcut değildir. Ancak, pfbenzer güvenlik duvarı yapılandırmalarını işleyebilen bir yürütülebilir dosya vardır .

Yapılandırma için kullanabileceğiniz "Murus" ( http://www.murusfirewall.com ) adlı bir GUI arayüzü vardır pf. Anladığım kadarıyla, aktif olarak bant genişliği sınırlamasını da destekliyor (kullanıcı arayüzünden).

[DÜZENLE]

Birisinin onsuz gidememesi durumunda ipfw, onu kendiniz derlemeye çalışabilirsiniz. Kaynak kodu (FreeBSD'den) burada bulunabilir: http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/ipfw/

Apple ayrıca, kullandığı açık kaynaklı projelerin kaynak kodunu da yayınlar (d). ipfwburada bulunabilir: http://www.opensource.apple.com/source/network_cmds/network_cmds-329.2.2/



1

Damlama peşinde olduğun şeydir.

Tek sorun, kqueue kullanan çalıştırılabilir dosyaları desteklememesi ve statik olarak bağlı çalıştırılabilirleri desteklememesidir. iTunes iyi olmalı.


1
İnşa etmek için 1.0.6 veya 1.0.7'yi kandıramadım. Çalıştırdıktan sonra. /Configure libevent bulunamadığını söyleyen bir hata alıyorum. MacPorts aracılığıyla libevent'i yükledim ve tekrar denediğimde aynı hatayı aldım.
dotHTM

@Kio sürümleri> 1.06, çağrıdaki sorunlardan dolayı oluşturulmaz poll(). Ancak daha yaşlı olanlar çalışmalıdır.
John T

4
1.0.5 numaralı dosyayı indirdim, "$ sudo ./configure" yazıp daha önce olduğu gibi aşağıdaki hatayı aldım: "configure: error: libevent bulunamadı". Kontrol ettim ve MacPorts'un kurulu olduğu libevent var. Ayrıca, yıllardır güncellenmemiş bir yazılımı sevmiyorum.
dotHTM


0

Geçenlerde (ve hala denemeye devam ediyor) Vallum'u uygulamalarım üzerinde kontrol sahibi olarak buldum:

Hangi uygulamaların interneti kullanabileceğini sınırlamanızı sağlayan bir macOS Uygulama Güvenlik Duvarıdır. Şimdiye kadar gerçekten kaygan, sadece erişmek istediğim her şeye izin veren bir Varsayılan Profil ve hareket halindeyken daha fazla uygulamayı kısıtlayan bir Mobil Bağlantı Noktası Profili oluşturdum.


Güncelleme: Vallum kullanan uygulamalar için bant genişliğini "kısma" alamadım , yalnızca daha fazla / daha az uygulamayı kısıtladığım farklı profilleri ayarladım .


3
hiç boğulma izin vermiyor gibi görünüyor
GJ.

@GJ. doğru, bu yeteneği de göremedim ... şimdiye kadar bir uygulamanın yalnızca ağ erişimine izin verip vermeyebileceğimi görebiliyorum. Bunun için geçici çözümüm için farklı profiller "azaltma" olarak ayarlıyorum.
skplunkerin

0

MacOS'ta bant genişliğini azaltmanın en iyi yolu, macOS çekirdeğine yerleşik olan ve pf paket filtresiyle çalışan Dummynet'i kullanmaktır. Kanımca, işlem bazında bant genişliğini etkin bir şekilde ayarlamanın tek yolu, işlem sırasında hangi yerel bağlantı noktalarının bağlı olduğunu tespit etmek ve ardından karşılık gelen pf dumynet kurallarını oluşturmaktır. Bildiğim kadarıyla bu seçeneği sunan tek macOS uygulaması Scudo (Scudo, Vallum ve Murus geliştiricisiyim). Scudo 1.0 beta 3 şu anda ücretsiz olarak sunuluyor, işlem başına Scudo bant genişliği ayarlama hakkında daha fazla bilgi burada bulunabilir: http://www.murusfirewall.com/forum/viewtopic.php?f=2&t=1919&p=3281#p3281


Bunu denedim ve işe yarıyor. Bu şimdi beta 6'da (beta 3 artık çalışmayacak) - murusfirewall.com/forum/viewtopic.php?f=2&t=1949 Güvenlik duvarına eklemenizi ve bant genişliği daraltmasını yapmanızı sağlayan Ağ İzleyicisi'ni seviyorum.
f01
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.