Vraag App / Script verbruikt te veel geheugen. Ubuntu kan het misschien doden. Hoe verifieer / verifieer ik deze aanname?


  • Gehost op Digital Ocean
  • Ubuntu 14.04
  • 1 GB RAM, 30 GB HDD

Ik voer een python-script uit dat een regel van 200 MB + regel voor regel leest. Elke regel wordt geparseerd in een JSON-object en vervolgens toegevoegd aan een array. De toepassing wordt afgesloten of eindigt voortijdig, nadat de array erg groot is geworden.

Ik heb wat tests en foutopsporing uitgevoerd om ervoor te zorgen dat het probleem de toenemende omvang van de array is. Ik luister naar uitzonderingen en deze afdruk, maar geen enkele daarvan wordt door de Python-code naar voren gebracht.

Voorbeelduitvoer:

...
line check:  41000
line check:  42000
line check:  43000
line check:  44000
line check:  45000
dannyb@twitter-data-mining:/var/www/cmd$

Vraag

Houdt Ubuntu een logboek bij van de applicaties die het heeft gedood? Biedt Ubuntu technieken / opties voor het oplossen van problemen die kunnen worden gebruikt om vast te stellen waarom dit script vroegtijdig wordt beëindigd?


1
2018-01-27 16:50


oorsprong


Als u uw code heeft gedeeld, kunnen we u helpen het geheugengebruik te optimaliseren. Het zou echter het beste zijn als je daar een nieuwe vraag voor hebt geopend Code Review en plaats de link hier. Ik denk dat ik snel een paar manieren zou kunnen vinden om het te verbeteren. - Byte Commander
@ByteCommander, op uw suggestie, heb ik een onderwerp gemaakt over Code Review. Je kunt er een link voor vinden: HIER. Ook kan het de moeite waard zijn te vermelden dat ik zojuist het beschikbare RAM-geheugen op mijn VPS heb verdubbeld. Mijn script data-parser.py kan nu tweemaal zoveel regels in het geheugen laden, maar mislukt nog steeds op dezelfde manier voordat het einde van het bestand is bereikt. Kleinere bestanden kunnen volledig worden geladen en het programma wordt uitgevoerd zoals verwacht (: - CSEngineer13


antwoorden: