Kysymys:
Kaatumiset kuormitettuna - miten tutkia?
elsurudo
2016-01-25 23:37:51 UTC
view on stackexchange narkive permalink

Käytän RPi B: täni päätetyssä tilassa ohjaamalla sitä SSH: n (Raspbian) kautta.

Sain satunnaisia ​​kaatumisia kuormitettuna, kunnes sain paremman virtalähteen.

Olen havainnut, että ongelma on palannut. Yritän koota uuden version Pythonista, ja se yksinkertaisesti käynnistyy uudelleen make -prosessin aikana. Se kaatui myös muissa tilanteissa, varsinkin kun se on ollut kovassa kuormituksessa.

Olen poistanut kaikki oheislaitteet virrankulutuksen vähentämiseksi, mutta ongelma on edelleen.

Kaikki ideoita? En ole varma, mistä aloittaa suunnitellun uudelleenkäynnistyksen tutkiminen.

`sudo grep -i OOM / var / log / syslog`.
Mikä on virtalähteesi nimellisteho?
@goldilocks joukko "wd_keepalive [2871]: ei voida poistaa käytöstä oom-käsittelyä!". Minun täytyy yrittää pakottaa kaatuminen uudelleen nähdäksesi, sopivatko näiden ajat yhteen kaatumisten kanssa. Btw, mitä tämä tarkoittaa?
-1
Se, että saat ** O ** ut ** O ** f ** M ** emory -viestejä syslogissasi, ei ole lupaavaa - se tarkoittaa, että käyttöjärjestelmän mielestä muistia ei ole tarpeeksi ja se tappaa (epätoivoisesti?) pois prosesseista yrittää toipua. Epäilen @goldilocks: n mielestä tämä kokoelma tarvitsee paljon muistia ja halusi sinun tarkistavan. Yksi ajatus, joka menee mieleeni, on, että ehkä sinulla on neliytiminen RPi ** 2 ** B ja yrität koota kaikkia ytimiä käyttäen (merkillä -j 5`) - vähentää tätä `-j`-arvoa vähentää käytettyjen ytimien määrää ja muistin tarvetta pidempään kuluttamisen kustannuksella ..!
@SlySven ...> _ <...
Alun perin tein `` make -j 4 '', mutta jopa tavallinen `` make '' laukaisi ongelman. En tiedä, näyttää siltä, ​​että Raspbian ei ole kovin yhteistyöhaluinen kontekstinvaihdossaan. Onko mahdollista rajoittaa muistin käyttöä tietyssä tehtävässä?
Kolme vastused:
goldilocks
2016-01-26 01:01:01 UTC
view on stackexchange narkive permalink

joukko wd_keepalive [2871]: Oom-käsittelyä ei voida poistaa käytöstä! . Minun täytyy yrittää pakottaa kaatuminen uudelleen nähdäksesi, sopivatko näiden ajat yhteen kaatumisten kanssa ...

wd_keepalive on vahtikoirademon, joka on kuvattu man wd_keepalive . En usko, että se on asennettu oletuksena, joten olet todennäköisesti tietoinen siitä.

OOM-tappaja on ytimen ominaisuus, jonka tarkoituksena on pitää järjestelmä yllä, kun kaikki käytettävissä olevat fyysiset muistit kulutetaan. Kun näin tapahtuu, järjestelmä saattaa tilapäisesti reagoida, mikä voi laukaista vahtikoirasi. Tämä selittäisi spontaanit uudelleenkäynnistykset, koska vahtikoira yleensä tekee niin.

/ var / log / syslog sisältää todennäköisesti tietueen OOM-tappajatoiminnasta. Tämä on taulukon muodossa, jossa on tällaisia ​​sarakkeita:

  [pid] uid tgid total_vm rss nr_ptes nr_pmds swapents oom_score_adj name  

Ydin tekee sen päätös, joka perustuu johonkin algoritmiin, joka yleensä valitsee prosessin, jolla on eniten muistia. Pisteenä on vapauttaa mahdollisimman paljon muistia. Tämä ei kuitenkaan aina pysäytä "syyllistä", joka voi olla esimerkiksi jotain, joka haarautuu nopeasti tai ilmapalloja, kun paljoa ei ole jäljellä. On syytä huomata, että syyllisiä ei todellakaan voi olla muita kuin tuolin ja näppäimistön välillä - kaikki käyttäytyy niin kuin on tarkoitus, mutta pyydät liikaa.

Taulukon lopussa on tehty päätös, out of memory: Tapa prosessi 1234 foobar , jossa 1234 on pid ja foobar on prosessin nimi. Jälleen, tämä ei välttämättä tarkoita väärinkäyttäytymistä, mutta jos jokin käyttäytyy väärin ja se ei ollut niin, OOM-tila todennäköisesti uusiutuu nopeasti ja löydät toisen pöydän eteenpäin. Arvioimalla nämä sinun pitäisi pystyä selvittämään tapahtuman yksityiskohdat.

Selkeä: OOM-tappajan tarkoituksena ei ole poistaa järjestelmää käytöstä. Se on muistin vapauttaminen normaalin toiminnan palauttamiseksi. Tämä ei ole aina tehokasta, ja OOM-ehdon aiheuttama hidastuminen on saattanut laukaista vahtikoiran (mikä on tehokasta ainakin järjestelmän uudelleenkäynnistämisen kannalta).

Voit estää ongelman tai diagnosoida sen Tulevaisuudessa voit käyttää näyttöä, kuten top tai htop . Voit yrittää tarkkailla tiettyjä prosesseja pitkällä aikavälillä (esim. Palvelimella) plog: lla.

Kyllä, muistan, että olen asentanut tämän, mutta rehellisesti, niin kauan sitten unohdin. Manpage: "Suurella järjestelmän kuormituksella wd_keepalive saattaa tyhjentyä muistista, eikä se välttämättä onnistu palauttamaan sitä ajoissa. Näissä olosuhteissa Linux-ydin nollaa koneen. Varmista, että et saa tarpeettomia uudelleenkäynnistyksiä, varmista asetustiedostossa watchdog.conf on asetettu muuttujan reaaliaikainen asetukseksi kyllä. Tämä lisää reaaliaikaisen tuen wd_keepalive: se lukitsee itsensä muistiin, eikä siinä pitäisi olla ongelmia edes suurimmalla kuormituksella. " Hmmm ...
Itse asiassa näyttää siltä, ​​että "reaaliaikainen" on jo asetettu "kyllä", joten tämä ei ratkaise ongelmaa
Tietyssä vaiheessa en usko, että se kykenee takaamaan sen, ja tällaisissa olosuhteissa haluat todennäköisesti sen käynnistyvän, koska järjestelmää ei todellakaan voida palauttaa - esimerkiksi [haarukkapommi] (http: //raspberrypi.stackexchange. com / q / 41534/5538), jonka Jacobm001 mainitsi. Haarukkapommit on helppo luoda vahingossa; Uskon, että [tämä viimeinen kysymys] (http://raspberrypi.stackexchange.com/q/41534/5538) on esimerkki sellaisesta (hylkyjen poimiminen vahvistaa sen). Ilmeisesti "merkki" voi johtaa mihin tahansa, se riippuu tiedostosta.
Aion poistaa vahtikoiran käytöstä, kuten @Jacobm001 ehdotti, ja katson, voinko ainakin `` tehdä ''. Etkö ole varma, mikä pitkäaikainen ratkaisu olisi, koska muistan tämän tapahtuneen monien käännösten aikana (mikä lopulta onnistui, kun yritettiin tarpeeksi).
Voi myös tapahtua, että vahtikoira itse on kohdennettu, en tiedä. Ja tietysti se näyttää olevan tietoinen siitä, mitä on tekeillä ("valvontakoiran viesti" kyvyttömyys poistaa käytöstä poistaminen käytöstä "on viesti).
Vartijakoiran poistaminen ei todennäköisesti ratkaise OOM-ongelmaa, mutta se helpottaa tarkkailua ja analysointia.
1: Tee vahtikoirasta immuuni OOM-tappajalle. 2: anna vahtikoiralle suurin prioriteetti renice +20 watchdogpidin pitäisi tehdä se.
@Joshua Onko sinulla lisätietoja siitä, miten tämä tehdään?
http://backdrift.org/oom-killer-how-to-create-oom-exclusions-in-linux
Jacobm001
2016-01-26 00:52:42 UTC
view on stackexchange narkive permalink

wd_keepalive [n] on ketju vahtikoiraprosessistasi. N on kokonaisluku, joka määrittelee sen prosessin pidon, jota se aktiivisesti seuraa. Mitä voin kertoa, virhe on vahtikoiran vika. Pohjimmiltaan se joko aiheuttaa tai vastaanottaa haarukkapommin, joka aiheuttaa sitten järjestelmän kaatumisen.

Yritä poistaa vahtikoira käytöstä ja suorita sitten valmistusprosessisi.

Vartijakoiran poistaminen käytöstä antoi minulle todellakin mahdollisuuden kääntää, mutta en halua poistaa sitä kokonaan käytöstä, joten se ei ole kestävä ratkaisu
Yossi Neiman
2016-05-04 12:46:19 UTC
view on stackexchange narkive permalink

Minulla oli samanlainen ongelma, jossa vadelma vain kaatui käytettäessä merkkiä. Vaihdoin virtalähteen ja se toimi kuin taikaa.



Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...