Teljesítmény tuning, freebsd
FreeBSD rendszer cache memória az adatok, amelyekhez hozzáfértek, az utóbbi időben, mert ugyanazokat az adatokat olvasni a lemezről szörnyen gyakran. Ha az információt tároljuk a memóriában, akkor kap nagyon gyorsan. Ha a rendszer több memóriára van szükség, hogy kinyomja a cache, a legrégebbi felvétel, hogy helyet adjanak az új adatokat.
Például, a tárgyalt kiviteli parancsot top (1) kész az én laptop. Elindítottam Firefox, hogy lássa a képregény. * A meghajtó fény pislogott egy darabig, amíg a program olvasni a lemezről. Aztán lezárta a böngésző az induláshoz, de a FreeBSD Firefox maradt a cache puffer. Amikor újraindítja a Firefox, hogy kiszorult a cache, nem pedig a lemezt, így sokkal gyorsabban fut. Kezdés Van egy másik nagy folyamat, hanem „tolta” a böngésző cache, hogy az új program bele.
Ha a rendszer működik, ahogy kellene, hogy legyen legalább egy pár megabájt memóriát. Paraméterek sysctl vm.v_free_target hw.pagesize, és megmondja, hogy mennyi szabad hely kell egy FreeBSD alatt véleményt. Ha a memória nagyobb, mint a termék az értékek a két paraméter, az azt jelenti, hogy a rendszer nem teljesen használja képességeiket. Például a laptop:
# Sysctl vm.v_free_target
vm.v_free_target: 13745
# Sysctl hw.pagesize
hw.pagesize: 4096
Saját rendszer úgy véli, hogy szükség van, hogy legalább 13 745 x 4096 = 56.299.520 bájt, vagy körülbelül 54 Mbyte memóriával. Azt elveszítheti gigabájt memóriával a laptop szemrebbenés nélkül, ha nem szenvedtek kevés a memória.
Ha a rendszer cache vagy puffer sok memóriát foglal, nem szenved hiányt a memória. További memória hasznos lehet, de jelenléte nem feltétlenül szükséges. Ha a rendszer nem áll rendelkezésre elegendő memória, de sok aktív és társított memória, a rendszer kevés a memória. További memória lehetővé teszi, hogy kihasználják a cache puffer.
Abban az esetben, helyhiány és minimális helyet (vagy annak hiánya) a cache vagy a puffer szükséges, hogy megtudja, ahol a memória fogy. Valószínű, hogy a rendszer nem elegendő. Miután a rendszer használata csereterület, memória hiánya veszti érezte, valami hipotetikus.
csereterület
lapozóállományt (lapozóállományt) segít megbirkózni a rövid távú memória hiány. Például razarhiviruemy hatalmas fájlt könnyen töltse ki az összes fizikai memória, és a rendszer kell használni egy virtuális. Ne vásároljon további memóriát, ha csak időről időre - meg tudod csinálni csere.
Egyszerűen fogalmazva, csere némileg hasonlít a bort. A két pohár időben nem árt, sőt hasznos időről időre, de a rendszeres bőséges libations - a csapás.
A processzor elvégzésére sok számítás másodpercenként. De ha fut több feladatot, mint a CPU szolgáltatást, a kérelmek sorban állnak. Ők lesznek tárolva, és a rendszer lassítja a munkát. Tehát dióhéjban, a processzor működik.
Ha a teljesítmény nem éri el sehol, a top (1) azt mutatja, hogy a processzor van elfoglalva körülbelül 100% -a az idejüket, itt az ideje, hogy tegyünk valamit. Akkor biztosan vesz egy újat, de vannak más lehetőségek. Például lehetőség van arra, hogy tanulmányozza a futó folyamatokat a rendszer, és megtudja minden amire szükségük van. Nem állítok a junior rendszergazda ügyfél SETI @ Home (/ usr / ports / asztro / setiathome), hogy vizsgálja meg az idegen rovására a CPU? Ne futtassa a programot, a korábbi jelentős egyszer, de nem most? Keresse meg és töltse ki a felesleges folyamatokat. Is, biztos, hogy nem indul a következő alkalommal a rendszer elindul.
Fenti lépések elvégzése után ismét mérjük a rendszer teljesítményét. Ha a probléma nem szűnik meg, átütemezni a folyamatokat, vagy módosítsa a prioritásokat.
átütemezés
Változó prioritási szép
Ha átütemezés nem működik, ez a változás prioritásokat, amelyek valamivel bonyolultabb. Megváltoztatásával a kiemelt, akkor mondd el a FreeBSD rendszert megváltoztatni a jelentősége ennek a folyamatnak. Tegyük fel, hogy van egy kis program, amely képes futtatni órát, de azt szeretnénk, ha elfoglalt forrásokat csak azokban a pillanatokban, amikor a rendszer nem foglalt mást. Ebben az esetben meg kell kérni a programot, hogy szép (szép), és átadja helyét más programok.
A szebb a folyamat, annál kevesebb CPU-időt kér. Az alapértelmezés 0 jóvoltából, de annak értéke lehet a tartományban 20 (nagyon drága folyamat) 20 (nagyon barátságtalan). Úgy tűnhet, hogy ez a megközelítés hozza mindent fejjel lefelé - as, sőt nagyobb számban kell jelentenie a magasabb prioritású! Ugyanakkor itt van a távon; Nem hiszem, hogy ez a szám jobb lenne, mint „civakodó” vagy „szeszélyes”. *
A legfelső (1) feldolgozza a prioritások PRI mutatjuk be az oszlop. FreeBSD kiszámítja folyamat prioritásait, figyelembe véve a különböző tényezők, köztük az udvariasság, és ha lehetséges, a rendszer megpróbálja elindítani az első folyamat kiemelt. Udvariasság befolyásolja a prioritásokat, de prioritásokat nem változtathatók.
Ha tudja, hogy a rendszer fut a maximális kapacitását, futó alkalmazások lehet rendelni a mértékéig jóvoltából egy szép (1). Adja meg a kívánt szintet jóvoltából a parancs szép -n és a számérték a parancs előtt. Például fut make buildworld az udvariasság szinten 15:
# Szép -n 15 make buildworld
A negatív értékek jóvoltából, mint a szép -n -5. jelölhet csak a root. Például, ha azt szeretnénk a lehető leghamarabb összeállítja és hozott egy fontos lényege a tapasz, meg negatív értéket jóvoltából:
# Cd / usr / src
# Szép -n -20 Márka kernel
Normális esetben, ha a program indításakor nem szükséges mértékének a meghatározására, az udvariasság, de gyakran van szükség, hogy módosítsa a szintű kiszolgálást „on the fly”, ha megállapítást nyer, hogy az eljárás teljes mértékben foglalja a rendszer erőforrásait. Ehhez bevezetjük Renice parancs (8) az azonosító azonosítóval vagy tulajdonos. A szint megváltoztatásához udvariasság a folyamat fut Renice. meghatározva érvként az új érték a udvariasság és a folyamat azonosítóját.
Például, az egyik rendszer végre rögzítését, hogy a fogadó fut több példányban a softflowd (8) flow-capture, Nagios és egyéb kritikus hálózati szolgáltatások rendszere. Továbbá, ebben a rendszerben, a többi program összetevőit működik, mint a CVSup szerver által használt belső hálózat házigazdák. Ha azt találjuk, hogy a CVSup szerver kezd zavarja a Nagios, teljesítő hálózat felügyelet, szerver vagy syslog (8), van valami, hogy. Csökkenti elsőbbségi cvsupd (8) lassítják az ügyfelek, de ez jobb, mint lassítani hálózati monitoring rendszer. Használata pgrep (1) I meghatározza PID cvsupd eljárás (8):
# Pgrep cvsupd
993
# Renice 10 993
993: régi prioritás 0, új prioritás 10
Bam! Most azonban a FreeBSD tervezni cvsupd eljárás végrehajtása kevesebb, mint más eljárások. Természetesen a felhasználók a szolgáltatás akkor nagyon boldogtalan, de a fő felhasználó - ez én vagyok, és nem voltam boldog, akkor mindent helyesen tette.
Szintjének megváltoztatásához jóvoltából minden futó folyamatokat egy adott felhasználó által, amely lehetővé teszi a kulcs -u. Például, hogy az én folyamatok sokkal fontosabb, mint az összes többi ember folyamatait, azt adja ki a következő parancsot:
# Renice -5 -u mwlucas
1001: a régi elsőbbségi 0, -5 új prioritás
A szám 1001-ben - ez az én felhasználói azonosító a rendszerben. Ismét megjegyzem, hogy megalapozottan megtenni. És nem csak megmutatni erejüket. * Ugyanígy, ha a felhasználó teljes mértékben foglalja disk IO, én lehet, hogy feldolgozza nagyon udvarias, hogy valószínűleg teljesül a más felhasználók által a problémákat.
szép és tcsh
A héj tcsh (1) van egy beépített szép. Ez a beépített parancs szintaxisa a parancs Renice (8), kivéve a szép (1). Azt hiszem, ez nem történik meg, akkor a nemtetszését tcsh felhasználóknak, de találni az ésszerű érvek még nem. Ha biztosan szeretné használni egy szép külső alkalmazás (1), hívhatja a teljes elérési utat a futtatható file: / usr / bin / szép.
tanulmány Szoftver
Mi már régóta tárgyalt a beállítás teljesítményét FreeBSD. És ez elég logikus, mivel ez a könyv elsősorban a FreeBSD operációs rendszer. De ne feledkezzünk meg a többi szoftver! Gyakran előfordul, hogy a teljesítménnyel kapcsolatos problémák lehet elérni finomhangolás programok ezeket a problémákat okoz. Például, van egy sor CGI-scriptek a nyelvi Perl, amelyek intenzíven dolgozik lemezek és mohón fogyasztják a CPU időt. Ennek eredményeként, a Google kereső, azt tapasztaltam, hogy ezek a szkriptek működnek a legjobban ellenőrzés alatt mod_perl2. Én változott a web szerver konfigurációs és a probléma kiesett. Sokkal, de sokkal könnyebb, mint a változó a rendszer beállításait.
Most, hogy már megtanulták, hogy a problémákat a rendszer, itt az ideje, hogy megtanulják, hogy figyelj arra, amit a rendszer próbál mondani.
szűk
Minden rendszer, vannak szűk, amelyek korlátozzák a teljesítményt. Ha megszünteti egy szűk (szűk keresztmetszet - «szűk keresztmetszet"), a termelékenység emelkedik, amíg eléri a következő szűk keresztmetszet. A rendszer teljesítménye korlátozza a leglassabb összetevő. Tehát, bár gyakran a sebességet a webszerver által meghatározott hálózati sávszélesség, mint a leglassabb eleme a rendszernek - a kapcsolatot az interneten. Ha a már meglevő T1 berendezés, amelynek kapacitása 1,5 Mbit / s-ig OC-48, amelynek kapacitása 2,4 Gbit / s, a rendszer fog egy weboldalt az arány, amely azt lehetővé teszi egyéb alkatrészek. Az a követelmény, hogy a szűk keresztmetszetek megszüntetése gyakran „hogy megszüntesse a szűk bekövetkező normális munkát.”