मैक ओएस एक्स में प्रति अनुप्रयोग थ्रॉटल नेटवर्क बैंडविड्थ


37

मुझे लगता है कि iTunes मेरे सभी बैंडविड्थ को चूसने लगता है और अन्य अनुप्रयोगों के साथ अच्छा नहीं खेलता है जो वेब का उपयोग करते हैं जब यह डाउनलोड होता है। वास्तव में, यह बड़ी या कई फ़ाइलों (पॉडकास्ट, टीवी शो, बड़े एप्लिकेशन आदि) को डाउनलोड करते समय आईट्यून्स स्टोर ब्राउज़ करते समय खुद को पर्याप्त बैंडविड्थ नहीं देता है।

मैं जितनी जल्दी हो सके अपने सभी डाउनलोड प्राप्त करने से चिंतित नहीं हूं, वे वास्तव में कम प्राथमिकता वाले हैं, और मुझे जागते समय ऐसा नहीं करना होगा, लेकिन मैं ताज़ा बटन को हिट नहीं कर सकता अगर मैं ' बिस्तर में हूँ और यह पहले से ही भूल गया।

क्या डाउनलोड बैंडविड्थ को सीमित करने के लिए टर्मिनल के माध्यम से एक एप्लिकेशन या टूल है जो आईट्यून्स वेब ब्राउज़र या अन्य एप्लिकेशन को बाधित किए बिना प्राप्त करता है?

FOSS / GPL सॉफ्टवेयर बेहतर है, लेकिन भुगतान सॉफ्टवेयर भी स्वीकार्य हो सकता है।


1
नेटवर्क लिंक कंडीशनर सभी एप्स के लिए बैंडविड्थ को सीमित करने के लिए बहुत अच्छा है। Apple.stackexchange.com/questions/164959/…
खालिद अन्नजर

यह प्रश्न काफी हद तक मेरे विशेष उपयोग के लिए अप्रचलित कर दिया गया है। मैं आइट्यून्स में नियमित रूप से शायद ही कभी सामग्री डाउनलोड करता हूं (पॉडकास्ट अब केवल आईफोन पर तीसरे पक्ष के ऐप का उपयोग करता है, आईट्यून्स के लिए आईट्यून्स वीडियो खरीद, और कंप्यूटर पर एप्लिकेशन को बिल्कुल भी समन्वयित नहीं करता है)।
डॉटएचटीएम

जवाबों:


9

जीयूआई:

सीएलआई (कोई पोर्ट-विशिष्ट फ़िल्टरिंग नहीं बल्कि अनुकूलित किया जा सकता है):

ये उपकरण फिल्टर मानदंड के रूप में पोर्ट या पोर्ट रेंज पर निर्भर करते हैं। यदि आपको पता नहीं है कि आपका एप्लिकेशन किन पोर्ट का उपयोग करता है, तो आप इसके दस्तावेज़ीकरण की जांच कर सकते हैं या उपयोग कर सकते हैं, lsofजबकि एप्लायंस पोर्ट नंबर को प्रकट करने के लिए चल रहा है।

sudo lsof -i -P

अधिकांश या सभी उपकरण ipfw का उपयोग करते हैं जो आधिकारिक तौर पर pf के पक्ष में पदावनत है , इसलिए सुनिश्चित नहीं हैं कि ये समाधान OS X 10.9 और उसके बाद के संस्करण पर काम करेंगे।


5

पुराना सवाल है, लेकिन मैं सिर्फ एक ऐसी ही समस्या की मोटी में मिला तो मैंने सोचा कि मैं जवाब दूंगा।

समस्या वास्तव में आपके ISP पर ट्रैफ़िक को आकार देने के कारण है। वे ग्राहकों को बेहतर स्ट्रीमिंग सेवा प्रदान करने के प्रयास में ज्ञात सामग्री प्रदाताओं को ट्रैफ़िक को प्राथमिकता देते हैं। मेरा तर्क है कि वे कुछ मामलों में बहुत दूर चले गए हैं - मैं सिर्फ एक ऐसी ही समस्या का निदान करता हूं जहां एक पृष्ठभूमि iCloud फोटो अपलोड 45000 एमएस से अधिक समय में पिंग का कारण बन रहा था।

समस्या को हल करने के लिए, आप बस कुल बैंडविड्थ की मात्रा को कम कर सकते हैं जो आपके कंप्यूटर का उपयोग करेगा ताकि आईएसपी के यातायात को अन्य सभी अनुप्रयोगों से बैंडविड्थ को पूरी तरह से लूटने से बचाया जा सके। विडंबना यह है कि यह आपके कंप्यूटर पर ब्राउज़िंग प्रदर्शन में सुधार करेगा, स्पष्ट रूप से आपके नेटवर्क पर अन्य कंप्यूटरों के लिए प्रदर्शन में सुधार करेगा। यदि उदाहरण के लिए आपको 15Mbps डाउनस्ट्रीम कैप मिली है, तो आप अपने कंप्यूटर को केवल 12Mbps तक ही सीमित कर सकते हैं, और ISP एल्गोरिथम को आपके ट्रैफ़िक को आक्रामक रूप से आकार देने की आवश्यकता नहीं होगी:

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

मेरे मामले में, यह अपस्ट्रीम बैंडविड्थ था (मेरे ISP द्वारा 1Mbps पर कैप्ड) जो कि सीमित कारक था, इसलिए मैंने निम्न भाग किया, जिससे मेरी समस्या हल हो गई:

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

ध्यान दें कि ये कमांड केवल एक पुनरारंभ तक प्रभावी होंगे, लेकिन नियम को रद्द करने के लिए, बस निम्नलिखित करें:

ipfw delete 1

मुझे ipfw के लिए FreeBSD मैन पेज मिल गया है, लेकिन विकिपीडिया के अनुसार, OS X में ipfw को 10.4 thru 10.5 से शुरू करने पर जोर दिया गया था। मुझे आज 10.10 की अपनी स्थापना पर ipfw नहीं मिला है, और Homebrew और MacPorts दोनों ipfw के लिए सक्रिय रूप से विकसित प्रतिष्ठानों के साथ नहीं आते हैं।
डॉटएचटीएम

2
ipfwओएस एक्स में बंद कर दिया गया था, लेकिन वहाँ हैpf
क्रिस


4

[पहाड़] शेर पर IceFloor का उपयोग करें


मैं इस जवाब को अस्वीकार करने के बाद यह जान रहा हूं कि IceFloor ऐप-केंद्रित की तुलना में अधिक प्रोटोकॉल-केंद्रित है। इसलिए अगर मैं सिर्फ एक निश्चित ऐप को प्रतिबंधित करना चाहता हूं तो यह कठिन है।
knocte

अपवोटेड क्योंकि आइसफ़्लोर की खोज से मुझे वल्लम का पता चला, जो मुझे प्रति ऐप के लिए नेटवर्क एक्सेस को ब्लॉक करने की अनुमति देता है।
skplunkerin

2

यह वास्तव में एक विकृत विचार है, लेकिन आप ऐसा करने के लिए नियम लिखने के लिए मैक ओएस एक्स के बिल्ट-इन ipfw और dummynet का उपयोग करने में सक्षम हो सकते हैं। उन टूल्स के लिए मैन पेज देखें।



2

के लिए वर्तमान घटनाओं के संबंध में OS X 10.10, ipfwनिष्पादन योग्य जिसे आमतौर पर संदर्भित किया जाता है, अब उपलब्ध नहीं है। हालांकि, एक pfनिष्पादन योग्य है, जो समान फ़ायरवॉल कॉन्फ़िगरेशन को संभाल सकता है।

एक GUI इंटरफ़ेस है जिसे "Murus" ( http://www.murusfirewall.com ) कहा जाता है , जिसे आप कॉन्फ़िगर करने के लिए उपयोग कर सकते हैं pf। जहां तक ​​मैं समझता हूं, यह सक्रिय रूप से बैंडविड्थ को सीमित करने (UI से) का समर्थन करता है।

[संपादित करें]

यदि कोई बिना नहीं जा सकता है ipfw, तो आप इसे स्वयं संकलित करने का प्रयास कर सकते हैं। स्रोत कोड (FreeBSD से) यहां उपलब्ध है: http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/ipfw/

Apple ओपन सोर्स प्रोजेक्ट्स के स्रोत कोड को भी प्रकाशित करता है जो इसका उपयोग करता है (d)। ipfwयहां पाया जा सकता है: http://www.opensource.apple.com/source/network_cmds/network_cmds-32/.2.2/


1
मैं सफलतापूर्वक म्यूरस को ओएस एक्स 10.14 Mojave पर स् थ्रोटल 8 से कॉन्फ़िगर करने में सक्षम था, यहां दिए गए निर्देशों का उपयोग करके: murusfirewall.com/forum/viewtopic.php?t=428
जॉन श्नाइडर

1

ट्रिकल वह है जिसके बाद आप हैं।

केवल समस्याएं यह हैं कि यह kqueue का उपयोग करने वाले निष्पादकों का समर्थन नहीं करता है, और यह सांख्यिकीय रूप से जुड़े निष्पादनों का समर्थन नहीं करता है। आईट्यून्स ठीक होना चाहिए।


1
मैं 1.0.6 या 1.0.7 बनाने के लिए मुश्किल नहीं कर सका। चलाने के बाद ./configure मुझे यह कहते हुए एक त्रुटि मिलती है कि libevent नहीं मिल सकती है। मैंने MacPorts के माध्यम से libevent स्थापित किया और जब मैंने पुन: प्रयास किया तो वही त्रुटि मिली।
डॉटएचटीएम

@Kio संस्करण> 1.06 कॉल के साथ समस्याओं के कारण नहीं बनता है poll()। हालांकि पुराने लोगों को काम करना चाहिए।
जॉन टी

4
मैंने ट्रिकल 1.0.5 डाउनलोड किया, "$ sudo ./configure" चला और पहले की तरह ही निम्न त्रुटि हुई: "कॉन्फ़िगर करें: त्रुटि: काम नहीं मिला"। मैंने जाँच की, और MacPorts में libevent स्थापित है। इसके अलावा, मैं उस सॉफ्टवेयर का शौकीन नहीं हूं जो सालों से अपडेट नहीं किया गया है।
डॉटएचटीएम


0

मैंने हाल ही में पाया (और अभी भी परीक्षण) वल्लम को अपने ऐप्स पर नियंत्रण रखने के लिए:

यह एक macOS एप्लीकेशन फ़ायरवॉल है जो आपको यह प्रतिबंधित करने की अनुमति देता है कि कौन से ऐप इंटरनेट का उपयोग कर सकते हैं। यह वास्तव में अब तक धीमा है, मैंने अभी एक डिफ़ॉल्ट प्रोफ़ाइल बनाई है जो मुझे हर चीज की अनुमति देती है जिसे मैं एक्सेस करना चाहता हूं, और एक मोबाइल हॉटस्पॉट प्रोफाइल जो कि मेरे जाने पर अधिक एप्लिकेशन को प्रतिबंधित करता है।


अद्यतन: मैं वल्लम का उपयोग करने वाले ऐप्स के लिए "थ्रॉटल" बैंडविड्थ करने में सक्षम नहीं था , केवल अलग-अलग प्रोफाइल सेट करता हूं जहां मैं अधिक / कम एप्लिकेशन प्रतिबंधित करता हूं।


3
ऐसा लगता नहीं है कि थ्रॉटलिंग की अनुमति बिल्कुल भी नहीं है
जीजे।

@GJ। सच है, मैं उस क्षमता को या तो नहीं देख पा रहा हूं ... अभी तक मैं केवल एक ऐप को नेटवर्क एक्सेस कर सकता हूं, या नहीं। मैं अपने वर्कअराउंड के लिए अलग-अलग प्रोफाइल "थ्रॉटल" के रूप में स्थापित कर रहा हूं।
skplunkerin

0

मैकओएस पर बैंडविड्थ को थ्रॉटल करने का सबसे अच्छा तरीका ड्यूमनीनेट का उपयोग करना है, जो मैकओएस कर्नेल में बनाया गया है और पीएफ पैकेट फिल्टर के साथ काम करता है। मेरी राय में, एक प्रति-प्रक्रिया के आधार पर बैंडविड्थ को प्रभावी ढंग से ट्यून करने का एकमात्र तरीका यह है कि स्थानीय पोर्ट प्रक्रिया से बंधे हैं और फिर संबंधित pf dummynet नियम बनाते हैं। जहाँ तक मुझे पता है कि एकमात्र macOS ऐप है जो इस विकल्प को प्रस्तुत करता है, वह है स्कूडो (मैं स्कूडो, वालम और म्यूरस का डेवलपर हूं)। स्कूडो 1.0 बीटा 3 वर्तमान में मुफ्त में उपलब्ध है। स्कूडो प्रति प्रक्रिया बैंडविड्थ ट्यूनिंग के बारे में अधिक जानकारी यहां पाई जा सकती है: http://www.murusfirewall.com/forum/viewtopic.php?f=2&t=1919&p=3219#p3281


मैंने यह कोशिश की और यह काम करने लगता है। यह अब बीटा 6 में है (बीटा 3 अब काम नहीं करेगा) - murusfirewall.com/forum/viewtopic.php?f=2&t=1949 मुझे नेटवर्क मॉनिटर पसंद है जो आपको फ़ायरवॉल में जोड़ने और बैंडविड्थ थ्रॉटलिंग करने की अनुमति देता है।
f01
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.