SWAP-osion liittäminen tarvittaessa

Anonyymi

Millähän skripitillä saisi mountattua SWAP-osion, kun keskusmuistia olisi jäljellä esim. alle puoli gigaa?

Käyttis on SSD:llä ja SWAP tavallisella pyörivällä levyllä. Tuntuisi jonkun verran hidastavan tuo SWAP-osio koneen käynnistymistä. Käytännössä keskusmuisti riittää 99% ajasta, joten aika turha pitää SWAP-osioita jatkuvasti liitettynä.

71

85

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Free-komennolla näkee kyllä vapaana olevan muistin

      free -mt | grep Mem | awk '{print $4}'

      Mutta tuota joutuisi sitten ajamaan silmukassa. Onko sellaista komentoa, joka jatkaisi toimintaa vasta silloin, kun vapaan muistin määrä putoaa alle asetetun?

    • Anonyymi

      Helpoita on käyttää kernelin swappiness säätövipua. Sen arvo voi olla 0-100. Mitä suurempi luku sitä innokkaammin swappia käytetään. Oletusarvo on 60.

      Sopivaa asetusta voi etsiä vaihtelemalla tuota arvoa. Esimerkiksi
      # sysctl vm.swappiness=20

      Kun sopiva arvo löytyy niin tehdään /etc/sysctl.d hakemistoon tiedosto jollain kuvaavalla nimellä. Vaikka swappiness.conf ja sinne rivi
      vm.swappiness = 20
      Näin swappiness saa arvon 20 bootissa.

      • Anonyymi

        Tuo auttaa varmasti siinä vaiheessa, kun virtuaallimuistia käytetään, mutta tässä on nyt tavoitteena pitää SWSP kokonaan pois päältä "normaalioloissa".


      • Anonyymi
        Anonyymi kirjoitti:

        Tuo auttaa varmasti siinä vaiheessa, kun virtuaallimuistia käytetään, mutta tässä on nyt tavoitteena pitää SWSP kokonaan pois päältä "normaalioloissa".

        Kyllä auttaa kun asettaa swappines arvoksi nollan niin swappia käytetään vasta äärimmäisessä hädässä.


      • Anonyymi
        Anonyymi kirjoitti:

        Kyllä auttaa kun asettaa swappines arvoksi nollan niin swappia käytetään vasta äärimmäisessä hädässä.

        Niin, niin, mutta kun se käynnistymisaika ei tuolla tavalla muutu miksikään, edelleenkin SWAP-osion sisältävä kiintolevy on liitettävä järjestelmään käynnistyksen yhteydessä. Eihän tässä ollut kysymys kuinka säädän SWAP-osion käytön aggressiivisuutta.

        Nopeimman mahdollisen käynnistymisen edellytys on se että järjestelmään kytketään vain se kiintolevy jolla se Linux on, ei muita. Tässä tapauksessa oli 120Gt:n SSD levy, tällä järjestelyllä pitäisi käynnistyminen ja verkottuminen tapahtua alle 15 sekunnin, omassa tuo pysyttelee alle 12 sekunnin alapuolella, yleensä 10.xx ja 11.xx sekuntia.


      • Anonyymi

        Huomasin että Avaus on trollaus ja ketjussa puhutaan valheita sen kun keritään!


    • Anonyymi

      Mitä olet ajatellut silloin kun laitoit swapin hitaalle asemalle.
      ja miksi olet mennyt ronkiin, koska ubuntu asentaa swpin juuri samaan jossa käyttiskin.

      Eikä ubuntussa ole tarvetta sen poistamiseen koska se ei käytä swappia ennekö on pakko, ei se ole kuin windows joka swappaa lähes jatkuvasti..

      • Anonyymi

        Kuten sanottu, niin SWAP-osio hidastaa koneen käynnistymistä.

        En halua pitää SWAP-osiota SSD-levyllä.


      • Anonyymi
        Anonyymi kirjoitti:

        Kuten sanottu, niin SWAP-osio hidastaa koneen käynnistymistä.

        En halua pitää SWAP-osiota SSD-levyllä.

        Ei Ubuntussa ole mahdollista näin nopeat käynnistymiset vaikka mitä tekisit: https://s3.gifyu.com/images/Valinta_007.png


      • Anonyymi
        Anonyymi kirjoitti:

        Kuten sanottu, niin SWAP-osio hidastaa koneen käynnistymistä.

        En halua pitää SWAP-osiota SSD-levyllä.

        Älä vertaa Ubuntua Windowsiin.


      • Anonyymi
        Anonyymi kirjoitti:

        Ei Ubuntussa ole mahdollista näin nopeat käynnistymiset vaikka mitä tekisit: https://s3.gifyu.com/images/Valinta_007.png

        Ubuntussa on salaman nopea käynistyminen, kansi kiini ja kansi auki, on Ubuntu heti käyttövalmis ja wlan verkossa.

        Windows 10 ei siihen kykene, koska sen wlan kestää yhditää.


      • Anonyymi

        Täähän soontaa, Avaus on trollaus ja ketjussa puhutaan valheita sen kun keritään!


    • Anonyymi

      "Millähän skripitillä saisi mountattua SWAP-osion, kun keskusmuistia olisi jäljellä esim. alle puoli gigaa?"

      EI MILLÄÄN TOIMIVASTI, osio liitetään järjestelmään jos on syytä olettaa että muistin jatketta tarvitaan, eikä vasta sitten kun muisti on jo käytetty niin vähiin että ei selvitä enää ilman kiintolevyn apua.

      • Anonyymi

        Rakentelen tuon skripitin itse. Käytän free, sleep ja swapon komentoja.


      • Anonyymi
        Anonyymi kirjoitti:

        Rakentelen tuon skripitin itse. Käytän free, sleep ja swapon komentoja.

        No, hyvä, tee se.


      • Anonyymi

        Kannattaa muistaa, että gigan kopiointi kestää nykykoneilla alta puolen sekunnin. Näin ollen jotta ehdit ennen muistin loppumista, mikäli rajana on puoli gigaa, tehdä haluamasi, pitää varmistaa, että skriptiä ajetaan ainakin 10 kertaa sekunnissa. Se vie jo hiukan resursseja skriptaamalla toteutettuna. Muuten voi muisti ehtiä loppumaan ennen kuin swap-osio on valmiina käytettäväksi. Parempi siis pitää swap jo käyttövalmiina ja alkaa täyttää sitä siinä vaiheessa kun muistinvaraukset tulee täyteen. Ja Ubuntussa tosiaan ei ole tarvinnut asiaa miettiä, aina tarkistaessa ollut swappi tyhjänä. Jos jotain päätyy swap-osiolle, se yleensä on siellä aika pitkään - turhaan sinne ei mennä sorkkimaan jos mitään ei käytetä, juuri mistään syystä.


    • Anonyymi

      Helpointa kun lisäät keskusmuistia niin et tarvitse swappia mihinkään.
      Paljonko sinulla sitä muistia on?

      Jos kone on vanha romu ja johon muistia ei voi laittaa tarpeeksi sovelluksille niin sitten on tietysti aika vaihtaa konetta.

      • Anonyymi

        Ei tässä ole kuin 16 gigaa, mutta riittää useimpiin arkiaskareisiin.

        Softalla voi paikata nämä pienet kauneusvirheet, kuten tuon SWAP-osion tarvittaessa käyttöönoton.


      • Anonyymi
        Anonyymi kirjoitti:

        Ei tässä ole kuin 16 gigaa, mutta riittää useimpiin arkiaskareisiin.

        Softalla voi paikata nämä pienet kauneusvirheet, kuten tuon SWAP-osion tarvittaessa käyttöönoton.

        Joo, ei 16g mihinkään riitä, vaatii ainakin 8g SWAP-osion.


      • Anonyymi
        Anonyymi kirjoitti:

        Ei tässä ole kuin 16 gigaa, mutta riittää useimpiin arkiaskareisiin.

        Softalla voi paikata nämä pienet kauneusvirheet, kuten tuon SWAP-osion tarvittaessa käyttöönoton.

        Ei tarvi mitään swappia.


    • Anonyymi

      Ei tuo ollut loppujen lopuksi ole mikään kumma juttu tehdä, jos sallitaan loopissa pyöriminen.

      Alla oleva versio nukkuu niin monta sekuntia mitä on muistia jäljellä gigatavuina, jonka jälkeen tarkastetaan taas vapaan muistin määrä.

      Jos putoaa alle 1 gigan, niin ajetaan swapon, jonka parametrina on SWAP-osio (tässä sda2). Skripitin suoritus loppuu otettaessa SWAP-osio käyttöön.

      Skripti pitää sitten heittä mukaan käynnistettäviin. Jos ajaa muuten vaan, niin pitää tietenkin sudottaa.

      #!/bin/bash
      while :
      do
      vapaana=`free -gt | grep Mem | awk '{print $7}'`
      if [ $vapaana -gt 0 ]
      then
      sleep $vapaana
      else
      /usr/sbin/swapon /dev/sda2
      break
      fi
      done

      • Anonyymi

        Tuollako se sitten SWAP kiintolevy liitetään osaksi järjestelmää?


      • Anonyymi

        mount -komento kytkee laitteen osaksi järjestelmää, laitetta ei voida käyttää ennen sitä eikä sille laitteelle voida kirjoittaa eikä sitä voida lukea ennen järjestelmään liittämistä.

        swapon ei ole mount -komento.


      • Anonyymi
        Anonyymi kirjoitti:

        Tuollako se sitten SWAP kiintolevy liitetään osaksi järjestelmää?

        Joo, swapoffilla saa pois. https://www.computerhope.com/unix/swapon.htm


      • Anonyymi
        Anonyymi kirjoitti:

        Joo, swapoffilla saa pois. https://www.computerhope.com/unix/swapon.htm

        Tuolla valitaan käytettävissä olevista se jota jatkossa käytetään, käytettävissä on vain ne laitteet jotka olet mount-komennolla kytkenyt järjestelmän käyttöön.

        Mutta eihän tässä ole minun tyytyväisyydestä kysymys, jos olet tyytyväinen skripitin aikaansaannoksiin niin silloinhan se on juuri se minkä tarvitset.


      • Anonyymi
        Anonyymi kirjoitti:

        Tuolla valitaan käytettävissä olevista se jota jatkossa käytetään, käytettävissä on vain ne laitteet jotka olet mount-komennolla kytkenyt järjestelmän käyttöön.

        Mutta eihän tässä ole minun tyytyväisyydestä kysymys, jos olet tyytyväinen skripitin aikaansaannoksiin niin silloinhan se on juuri se minkä tarvitset.

        Voi olla että tarvitsee se mountti tuohon lisätä. Oli testausvaiheessa jo valmiiksi liitetty fstabissa. Pitää nyt laittaa risuaita sinne kunhan tässä ehtii. Joka tapauksessa aika helposti tuon sai toteutettua, vaikka en ole tuohon täysin tyytyväinen, koska vaatii silmukan. Joku triggerisysteemi olisi fiksumpi.


      • Anonyymi
        Anonyymi kirjoitti:

        mount -komento kytkee laitteen osaksi järjestelmää, laitetta ei voida käyttää ennen sitä eikä sille laitteelle voida kirjoittaa eikä sitä voida lukea ennen järjestelmään liittämistä.

        swapon ei ole mount -komento.

        "swapon ei ole mount -komento."

        Näkyy swapon riittävän tässä yhteydessä. Eihän SWAP-osio muutenkaan tule näkyviin kuten normaalit asemat.


      • Anonyymi
        Anonyymi kirjoitti:

        "swapon ei ole mount -komento."

        Näkyy swapon riittävän tässä yhteydessä. Eihän SWAP-osio muutenkaan tule näkyviin kuten normaalit asemat.

        No, minulla se ei ainakaan onnistu: https://s3.gifyu.com/images/Paate_053.png

        Tässä sinun systeemissä ja minulla on se ero että minulla ei ole varsinaista osiota, vaan Windowsin tyylisesti ( swapfile ), joka sijaitsee juuri-kansiossa. Koko järjestelmä on yhdellä ainoalla osiolla. Ja tällä yhdellä ainolla osiolla on koko kiintolevyn kapasiteetti. Vaikka SWAP onkin tiedostona on se liitettävä järjestelmään /etc/fstab tiedostossa määritellen, muuten tiedostoon ei voi kohdistaa komentoja swapon tai swapoff tai mitään muutakaan.


      • Anonyymi
        Anonyymi kirjoitti:

        No, minulla se ei ainakaan onnistu: https://s3.gifyu.com/images/Paate_053.png

        Tässä sinun systeemissä ja minulla on se ero että minulla ei ole varsinaista osiota, vaan Windowsin tyylisesti ( swapfile ), joka sijaitsee juuri-kansiossa. Koko järjestelmä on yhdellä ainoalla osiolla. Ja tällä yhdellä ainolla osiolla on koko kiintolevyn kapasiteetti. Vaikka SWAP onkin tiedostona on se liitettävä järjestelmään /etc/fstab tiedostossa määritellen, muuten tiedostoon ei voi kohdistaa komentoja swapon tai swapoff tai mitään muutakaan.

        Ok, eri tavalla sitten käytän. Minulla näyttäisi olevan 15 osiota tässä nyt tarjolla, joista 6 liitettynä. Plus tietenkin se SWAP. Useampi kiintolevy siis koneessa.


      • Anonyymi
        Anonyymi kirjoitti:

        Ok, eri tavalla sitten käytän. Minulla näyttäisi olevan 15 osiota tässä nyt tarjolla, joista 6 liitettynä. Plus tietenkin se SWAP. Useampi kiintolevy siis koneessa.

        Onhan sinulla aikamoinen arsenaali. Onnistusko SWAPin teko RAM-levylle, tuli vaan mieleen että ehkä SSD tykkäis siitä hyvää. Ei taida ainakaan BOOT-aikoja lyhentää. Muuten juuri tuota /etc/fstab tiedoston ronkkimisen jälkeinen BOOTti aika oli 10.91 sekuntia. Minkälaisia aikoja tuo sinun arsenaali vaatii käynistyäkseen?

        Entä oletko asentanut uusiman Geany v1.35, joko se menee huonompaan suuntaan kuin nykyinen versio. Latasin käänsin, mutta jätin sudo make install komennon tekemättä kun rupesi arveluttamaan tuoko sittenkään mitään uutta, kun entisessäkään ei vikaa ole.


      • Anonyymi
        Anonyymi kirjoitti:

        Onhan sinulla aikamoinen arsenaali. Onnistusko SWAPin teko RAM-levylle, tuli vaan mieleen että ehkä SSD tykkäis siitä hyvää. Ei taida ainakaan BOOT-aikoja lyhentää. Muuten juuri tuota /etc/fstab tiedoston ronkkimisen jälkeinen BOOTti aika oli 10.91 sekuntia. Minkälaisia aikoja tuo sinun arsenaali vaatii käynistyäkseen?

        Entä oletko asentanut uusiman Geany v1.35, joko se menee huonompaan suuntaan kuin nykyinen versio. Latasin käänsin, mutta jätin sudo make install komennon tekemättä kun rupesi arveluttamaan tuoko sittenkään mitään uutta, kun entisessäkään ei vikaa ole.

        Virtuaalimuistin siirto keskusmuistiin kuulostaa hyvältä idealta.

        En ole mittaillut käynnistysaikoja. Huomaan joka tapauksessa helposti millisekuntien latenssin, kun kone alkaa mummoilemaan.

        Geany taitaa olla joku editori? En käytä.


      • Anonyymi
        Anonyymi kirjoitti:

        Virtuaalimuistin siirto keskusmuistiin kuulostaa hyvältä idealta.

        En ole mittaillut käynnistysaikoja. Huomaan joka tapauksessa helposti millisekuntien latenssin, kun kone alkaa mummoilemaan.

        Geany taitaa olla joku editori? En käytä.

        Heh. Joo. Tuollaiselle idealle nauraa naurismaan aidatkin.


      • Anonyymi
        Anonyymi kirjoitti:

        Virtuaalimuistin siirto keskusmuistiin kuulostaa hyvältä idealta.

        En ole mittaillut käynnistysaikoja. Huomaan joka tapauksessa helposti millisekuntien latenssin, kun kone alkaa mummoilemaan.

        Geany taitaa olla joku editori? En käytä.

        Mitä merkitystä on kylmäkäynistys ajan naosekunneilla.. EI MITÄÄN!


    • Anonyymi

      Kyllä näköjään ubuntuunkin saa jakkara ongeman ;>D

      • Anonyymi

        Pakko istua sohvalla.


    • Anonyymi

      Onko sillä nyt oikeasti mitään merkitystä käynnistyykö tietokone 10, 12 tai 15 sekunnissa? Muutama sekunti sinne tai tänne ei luulisi hirveästi missään tuntuvan, joten ihan yhtä hyvin se swap -osio voi olla kokoajan mountattuna. Jos tietokoneessa on runsaasti RAM -muistia, niin swappia ei käytännössä käytetä ja tarvittaessa sitä swappiness asetusta voi tosiaansäätää. Jos swapin mounttaamatta jättäminen nopeuttaa boottia parilla sekunnilla, niin onko sellanen ero nyt vaivan arvoinen? Harvalla tuskin on niin kiire, että ei jaksa sitä paria ylimäärästä sekuntia odottaa.

      T. miksuh

      • Anonyymi

        Mun kone nouse ylos 3 sekunnissa.
        Area 51 ja ubuntu. ssd levyillä.


      • Anonyymi
        Anonyymi kirjoitti:

        Mun kone nouse ylos 3 sekunnissa.
        Area 51 ja ubuntu. ssd levyillä.

        Millä tuon mittaat?

        Minulla loppuu dmesg bootin jälkeen aikaan 8.365873, jolloin kone kytkeytyy wlan-verkkoon. Kone on siinä vaiheessa login-ruudussa.


      • Anonyymi

        Kukaan ei ole luultavasti ikinä tavoitellut koneen käynnistymistä alle 10 sekunnin, ja perustellut tarvetta sillä että on KIIRE jonnekin, joten uskon lyhyttä käynnistymisaikaa tavoitellaan köyttömukavuuden parantaminen mielessä.

        SWAP-osion, sisältävän kiintolevyn liittäminen (mount) järjestelmään on kestoltaan niin lyhyt, että sen kesto ei erotu BootUp ajasta koska verkottumiseen kuluva aika vaihtelee jonkin verran jokaisen käynnistymisen välillä. SWAPin sisällyttäminen juuri-kansioon antaa kaikista parhaimman ja suorituskykyisimmän muistin jatkeen. Olen täysin varma että sitä tullaan käyttämään lähitulevaisuudessa laajemmalti kuin sitä nykyisin käytetään.

        swappines tekee jo sen mitä avauksessa tavoitellaan ja tekeekin sen hyvin. Oman scriptin ketjuttaminen mukaan vain huonontaa tilannetta, ja nopeutuksen tavoittelu näin tuottaakin entisestäänkin hitaamman järjestelmän.

        Mitä pienempiin palasiin osioit, sitä huonompaa suorituskykyä on odotettavissa. En myöskään omalta osaltani löydä mitään hyvää syytä pirstoa joka kansio eri osiolle, syyksi ei ainakaan kelpaa johonkin vikaantumiseen pohjautuva perustelu, koska joka päivä järjestelmä tekee Backupin niin sanottuna palautuspisteenä, joka tietenkin on erillisellä kiintolevyllä.

        T. Urpo


    • Anonyymi

      Koko systeemiä ei ole järkevää asentaa yhdelle ja samalle partitiolle. Se voi tietysti tuntua yksinkertasemmalta, mutta hyvä idea se ei ole. Levyn osiointi useampaan partitioon vaatii tietysti vähän enemmän kokemusta ja ymmärrystä siitä minkä kokoisia partitioita kannattaa tehdä, mutta kyllä levyn pilkkominen erillisiin oisioihin on ehdottomasti suositeltavaa ja järkevää. Levyn pilkkomatta jättämistä ei voi perustella edes sillä, että siten menisi levytilaa hukkaan, nykyään kovalevyt on niin isoja ja levytila on niin halpaa ettei tuo ole ongelma. Tietysti jos menee ostamaan kaikki pienimmän SSD levyn, niin sitten levyn osiointi voi olla hiukan ongelma, mutta esim teratavun Samsungin 860 EVO levyn saa jo alle 170 eurolla ja samankokoisen Samsung 860 QVO levyn alle 130 eurolla, eli ihan kaikki pienintä SSD levyä ei ole enää edes mitään järkeä ostaa.

      Koko järjestelmää ei ole järkevää asentaa yhdelle ja samalle osiolle. Vaikka käyttöjärjestelmä ja tiedostojärjestelmä pyrkii sen estämäänkin, niin aina on olemassa mahdollista, ettätiedostojärjestelmään tulee jokin vika ja jos koko systeemi on yhdellä ja samalla levyosiolla niin pahimmillaan koko systeemi menee käyttökelvottomaksi ja kaikki menetetään yhden levyvirheen takia. Voi käydä esimerkiksi niin, että käyttäjän kotihakemistossa tapahtunut levyvirhe saa aikaan sen, että koko käyttis on hajalla, ei käynnisty, koko levy on sekaisin eikä mihinkään dataan pääse käsiksi. Vastaavsti jossain käyttiksen hakemistossa tapahtunut virhe voi sotkea levyn niin, että käyttäjä menettää kaikki omat tiedostonsa samalla kun koko levy menee tiedostojärjestelmältään toimimattomaksi eikä käyttis enää käynnisty. Käyttis ja tiedostojärjestelmä tietenkin pyrkii estämään tuollaisen tilanteen, mutta se on silti aivan mahdollista.
      Jos koko systeemi on yhdellä ja samalla levyosiolla, niin sillon jokainen kirjoitusoperaatio kohdistuu yhden ja saman osion yhteen ja samaan tiedostojärjestelmään, joten periaatteessa mikä tahansa kirjoitusoperaatio jonka aikana tapahtuu virhe voi sotkea koko levyn käyttökelvottomaan tilaan.

      Osioimalla levyn useaan eri partitioon tuon riskin voi välttää. Jos levy on pilkottou eri osioihin niin yhdellä partitiolla tapahtunut levyvirhe ei aiheuta koko levyn joutumista käyttökelvottomaan tilaan. Sillon menetetään korkeintaan sen yhden osion data ja muu levyllä oleva data on turvassa. Osioimalla levy estetään siis se, että yksi levyvirhe voi aiheuttaa kaiken menettämisen ja lisäksi käyttiksen saaminen takaisin toimintakuntoon on paljon helpompaa muutenkin. Jos käyttisosiolla tapahtuu jokin virhe, niin käyttäjän kotihakemistot sisältävä osio on edelleen kunnossa jne. Osioimalla levy myös minimoidaan turhat kirjoitusoperaatiot, jotka kohdistuu yhteen ja smaan tiedostojärjestelmään ja se pienentää siis sitä riskiä, että kyseisellä tiedostojärjestelmällä menee jotain pieleen.

      Ihan yhtälailla swappia ei kannata laittaa tiedostoksi roottiparitiolle vaan ennemmin erilliseksi swappiosioksi. Erillinen swap -osio on nopeampikin ja lisäksi poistaa riskin siltä, että swappiin kirjottaminen saisi aikaan ongelmia root -partition tai koko levyn tiedostojärjestelmässä.

      Aivan ehdoton mimi mitä kannattaa tehdä on se, että levylle tehdään erillinen juuripartito /, kotihakemistopartitio /home ja swappipartitio. Paljon parempi on kuitenkin jakaa levyä edelleen niin, että levyllä on edellisten lisäksi erilliset /usr, /tmp ja /var -partitiot. Muita osioita voi tehdä tarpeen mukaan esimerkiksi paikallisesti paketinhallinan ohi asennetuille ohjelmille ja vaikka erillisen osion musiikille ja elokuville jne.

      Itselläni on kaikilla koneillani levy osiotu osioihin:

      /
      /usr
      /home
      /var
      /tmp
      /opt
      /usr/local
      /storage (musiikille jne)
      /virtual (virtuaalikoneille)
      swap


      T. miksuh

      • Anonyymi

        winhihulin paskaa, miten asiat voi vaikeammin tehdä..
        w10 on paska. Mint ei ole!
        Avaus on trollaus ja ketjussa puhutaan valheita sen kun keritään!


    • Anonyymi

      Öh? Mitä kumman järkeä virtuaalimuistin siirtämisessä RAM -muistiin eli keskusmuistiin muka olisi? Eli siis meinaatko, että RAM -muistin jatkeena käytettävä swappi siirrettäs RAM-muistiin? Kuulostaakin tosi järkevältä :-D

      T. miksuh

      • Anonyymi

        Ei ole mitään järkee koko avauksen touhuissakaan.


    • Anonyymi

      Tuohon ketjun alottaneeseen kysymykseen vastauksena se, että tuota tuskin on mahdollista toteuttaa mitenkään luotettavasti, ei ainakaan minkään loopissa pyörivän pollaavan skriptinavulla jne. Mutta kuten ketjussa on jo sanottu swappiness arvoa säätämällä voi vaikuttaa siihen kuinka paljon käyttis swappia käyttää. Lisäksi kuten itsekin sanoin edellä niin, jos koneessa on runsaasti RAM -muistia niin swappia ei käytännössä käytetä muutenkaan.

      T. miksuh

      • Anonyymi

        Toteutin jo tuon ja toimii. Skripti löytyy ylempää jostain viestistä. Swapon ja swapoff komennoilla voi hallita SWAP-osoioiden käyttöä.

        Tiedä sitten saisiko vaikka "memory pressure" ilmoituksilla toteutettua siistimmin. https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt

        Joku triggeri olisi kuitenkin fiksumpi kuin tuo silmukassa pyöriminen.

        t.aloittaja


    • Anonyymi

      joo swapon ja sitten joko osio taikka tiedosto jos ei ole erikseen osioinut
      ja tietysti samantekevää kirjoittaako itse komentokehotteeseen? taikka tekee skriptsin joka ajetaan käynnistyksen yhteydessä.
      Hyvä myös tuo swapoff heittää paskat mäkeen.. ja taas on swappi tyhjä (täyttyy muutoin ajon aikana)

    • Anonyymi

      Jotta homma voisi toimia luotettavasti tuo pitäisi toteuttaa käyttöjärjestelmän eventtejä / signaaleita hyödyntäen ja oikeastaan ihan käyttöjärjestelmäpalveluna. Loopissa pyörivä pollaava skripti ei anna takeita siitä, että vapaa RAM-muisti ei ehdi loppua ennenkuin skripti mounttaa swapin.

      T. miksuh

    • Anonyymi

      Niin ja toisinsanoen jokin prosessi voi yrittää tehdä muistinvarauksen, joka ylittää vapaana olevan RAM-muistin määrän. Jos swap ei ole sillon mountattuna niin muistin varaus epäonnistuu. Loopissa pyörivä pollaava skripti ei anna takeita siitä, että swap on mountattuna oikeaan aikaan sillon kun sitä tarvitaan. Jos ei ole mountattuna ja jokin prosessi yrittää tehdä vapaan RAM-muistin ylittävän muistin varauksen, niin muistin varaus epäonnistuu. Kuten edellä sanoin tuo pitäisi toteuttaa käyttäen käyttöjärjestelmän eventtejä / signaaleita ja käytännössä sen pitäisi olla käyttöjärjestelmäpalvelu.na toteutettu. Tokihan on mahdollista tehdä pollaava loopissa pyörivä skripti, mutta luotettava toteutus se ei kyllä ole.

      T. miksuh

      • Anonyymi

        init


      • Anonyymi

        "Niin ja toisinsanoen jokin prosessi voi yrittää tehdä muistinvarauksen, joka ylittää vapaana olevan RAM-muistin määrän."

        Helppo ennalta ehkäistä... Prosessia ei voi käynnistää jos ei ole "riittävästi" muistia vapaana (tutustu busyboxiin)

        "Jos swap ei ole sillon mountattuna niin muistin varaus epäonnistuu."

        Prosessi käynnistetään JOS muistia "riittävästi" vapaana muutoin koitetaan mountata swap jos onnistuu? muistia "riittävästi" ja prosessi käynnistetään... kun muistia muutoinkin riitävästi vapaana suoritetaan swapoff.


      • Anonyymi
        Anonyymi kirjoitti:

        "Niin ja toisinsanoen jokin prosessi voi yrittää tehdä muistinvarauksen, joka ylittää vapaana olevan RAM-muistin määrän."

        Helppo ennalta ehkäistä... Prosessia ei voi käynnistää jos ei ole "riittävästi" muistia vapaana (tutustu busyboxiin)

        "Jos swap ei ole sillon mountattuna niin muistin varaus epäonnistuu."

        Prosessi käynnistetään JOS muistia "riittävästi" vapaana muutoin koitetaan mountata swap jos onnistuu? muistia "riittävästi" ja prosessi käynnistetään... kun muistia muutoinkin riitävästi vapaana suoritetaan swapoff.

        Täysin turhaa räpeltämistä.


      • Anonyymi
        Anonyymi kirjoitti:

        "Niin ja toisinsanoen jokin prosessi voi yrittää tehdä muistinvarauksen, joka ylittää vapaana olevan RAM-muistin määrän."

        Helppo ennalta ehkäistä... Prosessia ei voi käynnistää jos ei ole "riittävästi" muistia vapaana (tutustu busyboxiin)

        "Jos swap ei ole sillon mountattuna niin muistin varaus epäonnistuu."

        Prosessi käynnistetään JOS muistia "riittävästi" vapaana muutoin koitetaan mountata swap jos onnistuu? muistia "riittävästi" ja prosessi käynnistetään... kun muistia muutoinkin riitävästi vapaana suoritetaan swapoff.

        kkkkkkk


    • Erilliset levyt hidastavat käynnistystä hieman. Hidastuksen voi huomata jos juureen liitetään useita pyöriviä levyjä, joissa useita partitioita. Käynnistyksessä tarvittavia prosesseja ajetaan rinnakkain. Kun nettiä odotetaan sitä tarvitsevat ohjelmat käynnistetään vasta kun netti on pystyssä. Jos nettiin ei saada yhteyttä koneen käynnistyminen voi kestää pitkään. Käynnistymistä voi nopeuttaa poistamalla turhia palveluita tai muuttamalla niiden käynnistysjärjestystä.

      16G muistilla selviää ilman SWAP-osiota. Jos käynnistää prosessin jonka arvelee syövän paljon muistia niin silloin voi pistää sivutuksen päälle. 2G koneessa itselle kävi niin, etten muistin loppumisen takia saanut systeemiä asenennettua. No ei sillä mitään käyttöä ole - 2G alkaa olla liian vähän netin selaamiseenkin.

      • Anonyymi

        Suurin syy tälle on nykyinen koodaustapa, jossa ensin varataan iso bufferi ja sitten sitä pitäisi pienentää tarvittavaan kokoon. Eihän tällaista kukaan jaksa tehdä, kun bufferin ikä voi olla alle 10 sekuntia!
        Toinen ongelma on oliopohjainen ohjelmointi, joka kyllä tekee ohjelmoinnista mukavaa, mutta: jotta back-napin painaminen selaimessa onnistuisi, pitää kaikista olioista ottaa kopiot, jotka muodostavat sivun. Se on helppo homma, käytännössä yksi sijoitus tyyliin 'context.oldPage[i] = context.currentPage; i '- saattaa vaan jäädä huomiotta, että samalla lohmaistaan vaikkapa 200 megaa muistia joka kerta. Ja jos näitä back-napin painamisia on 10 tallessa peruuttamista varten, niin... no tämä on tämän olioparadigman ongelmallisempi puoli eli kaikkeen vastataan loppupeleissä muistilla.


      • Anonyymi

        "2G koneessa itselle kävi niin, etten muistin loppumisen takia saanut systeemiä asenennettua. No ei sillä mitään käyttöä ole - 2G alkaa olla liian vähän netin selaamiseenkin. "

        Heh heh... ei minkään asennus voi noin paljoo muistii viedä ja taitaa "peli sivustot" olla ainuita jotka muistii vaatii yli puoli gigaa (no mainokset kyllä vie... mut nehän voi blokata)


      • Anonyymi kirjoitti:

        "2G koneessa itselle kävi niin, etten muistin loppumisen takia saanut systeemiä asenennettua. No ei sillä mitään käyttöä ole - 2G alkaa olla liian vähän netin selaamiseenkin. "

        Heh heh... ei minkään asennus voi noin paljoo muistii viedä ja taitaa "peli sivustot" olla ainuita jotka muistii vaatii yli puoli gigaa (no mainokset kyllä vie... mut nehän voi blokata)

        Perussysteemi kyllä asentui. Näytönohjain vaatii tuosta 2G muistista oman palasensa. Lopullinen asennus tyssäsi erään kerneliä vasten käännettävän ajurin asennukseen.


    • Anonyymi

      Eikö tuossa kuitenkin olisi järkevintä siirtää swap-osio ssd-kiintolevylle. Ei pyöri turhaan ja on paljon nopeampi jos swappia tarvitaan.
      Itsellä 4gb ramia ja samat swappia, niin ei koskaan ala swapata, vaikka sysctl vm.swappiness arvo on 60. Tuon voi huoletta laittaa nollaksi (0), että alkaa swapata vasta kun tosiaan on pakko.

      • Anonyymi

        Swap kannataa ataa olla ihan niin kuin asennus sen teke!


      • Anonyymi

        SWAP-osio SSD:llä tuhoaa levyn alta aikayksikön.


      • Anonyymi
        Anonyymi kirjoitti:

        SWAP-osio SSD:llä tuhoaa levyn alta aikayksikön.

        Whaat? Minulla vuosikausia ssd ja ei bittiäkään ole hajonnut. Ymmärrän kyllä että olet se palstojen win-trolli, mutta tuo oli jotain pohjanoteerauksen tasoista hölynpölyä.


    • Anonyymi

      Jos haluat nopean swap-osion, niin osta muistipiireillä toteutettu pci-express kortti. Luvataan teratavun sekuntinopeuksia - eli x16 pci-e väylä siinä on ja muistia niin paljon kuin lompakko kestää. Swap-osion voi siis toteuttaa muistilla nykyään! Hinta pistää kyllä haukkomaan vielä vähän henkeä.

    • Anonyymi

      Siis tuo sun mainitsemasi PCI Express -liitäntäinen "muistikortti" on siis SSD -levy. SSD -levyjähän on nykyään muinakin kuin SATA -liitäntäisinä ja itseasiassa SAT-liitäntäiset on nykyään hitampia SSD -levyjä, koska SATA -väylä rajoittaa SSD -levyn nopeutta. SATA-väylä on siis pullonkaulana, jonka voi välttää m2t / PCI Express -liitäntäisellä SSD -leyllä. Mutta se ei poista sitä tosiasiaa, että swapin laittaminen SSD -levylle kuluttaa SSD -levyä joten paljon parempi on laittaa swappi perinteiselle levylle, tai välttää swapin käyttöä lisäämällä tietokoneeseen RAM -muistia mahdollisimman paljon.

      Tuo tuossa viestissä edellä mainittu kortti esim teratavun muistilla ei siis todellakaan ole RAM-muistia vaan se on SSD -levy.

      • Anonyymi

        Juu, näin se vissiin on. Suorituskyky meni kyllä vanhasta muistista, näyttää olevan 6.6 teraa/sekunnissa siirtokykyä ja hintaa tuollaiset reilut 4000 euroa x8 väylän yli nykyään. Eli kun ottaa huomioon swap:n toimintatavan - kirjoitetaan satunnaisesti eikä yli muistin määrää - niin kortilla oleva keskusmuistin kokoinen muisti ehtii kyllä kirjoitella swap:n taustalla levylle talteen. Kortilta löytyy 32 gigaa tavallista ram:ia välimuistina. Lukeminenhan on sitten yhtä nopeaa kuin muististakin, eli nopeuseron kyllä huomaa. Tässä on vielä huomioitava se, että jokaiselle muistin bitille on oma muistipiirinsä, jolloin nopeus on kirjoitettaessakin itse asiassa 64-kertainen tavalliseen yhden piirin ssd kirjoitukseen verrattuna.


      • Anonyymi
        Anonyymi kirjoitti:

        Juu, näin se vissiin on. Suorituskyky meni kyllä vanhasta muistista, näyttää olevan 6.6 teraa/sekunnissa siirtokykyä ja hintaa tuollaiset reilut 4000 euroa x8 väylän yli nykyään. Eli kun ottaa huomioon swap:n toimintatavan - kirjoitetaan satunnaisesti eikä yli muistin määrää - niin kortilla oleva keskusmuistin kokoinen muisti ehtii kyllä kirjoitella swap:n taustalla levylle talteen. Kortilta löytyy 32 gigaa tavallista ram:ia välimuistina. Lukeminenhan on sitten yhtä nopeaa kuin muististakin, eli nopeuseron kyllä huomaa. Tässä on vielä huomioitava se, että jokaiselle muistin bitille on oma muistipiirinsä, jolloin nopeus on kirjoitettaessakin itse asiassa 64-kertainen tavalliseen yhden piirin ssd kirjoitukseen verrattuna.

        Sinähän höpötät puuta heinää kuin M-Kar kuunaan;

        "jolloin nopeus on kirjoitettaessakin itse asiassa 64-kertainen",

        väittämässä ei ole mitään perää.


    • Anonyymi

      Joo itseäni häiritsee usein se, että uusavuttomat ei osaa enää erottaa laitteen keskusmuistia eli RAM-muistia ja massamuistia kuten kovalevylä, muistikorttia tai SSD -levyä toisistaan. Puhutaan vaan ristiin muistista. Kännyköidenkin kohdalla kuulee joiden väittävän "mulla on puhelimessa 128 gigaa muistia" kun todellisuudessa laitteessa on muutama giga RAM -muistia ja massamuistia sitten se 128 gigaa sisäisenä massamuistina ja muistikorttiana.

      • Anonyymi

        Koska se ei useinkaan ole enää relevanttia: Nykyiset ssd-levyt kirjoittaa dataa nopeammin, kuin mitä vielä hetki sitten on muistin saantoajat. Kohta varmaan ei valmistajatkaan enää erottele rammia erilleen vaan ohjelmat ajetaan suoraan "muistilevyltä". Samalla tulee mahdolliseksi taas tehdä sovelluksia, joita ei voi muuttaa: mm. pankkimaailma hyötyy tästä, kun asiakaspäätteen voi tuoda kotiin valmiiksi asennettuna muistipiirinä, josta voi olla varma, ettei sitä kukaan pääse muuttelemaan. Eli nykyinen järjestelmä on tässä suhteessa tietoturvan kannalta vähän heikoilla, koska kaikki turvaa käyttöjärjestelmän kykyihin.


      • Anonyymi
        Anonyymi kirjoitti:

        Koska se ei useinkaan ole enää relevanttia: Nykyiset ssd-levyt kirjoittaa dataa nopeammin, kuin mitä vielä hetki sitten on muistin saantoajat. Kohta varmaan ei valmistajatkaan enää erottele rammia erilleen vaan ohjelmat ajetaan suoraan "muistilevyltä". Samalla tulee mahdolliseksi taas tehdä sovelluksia, joita ei voi muuttaa: mm. pankkimaailma hyötyy tästä, kun asiakaspäätteen voi tuoda kotiin valmiiksi asennettuna muistipiirinä, josta voi olla varma, ettei sitä kukaan pääse muuttelemaan. Eli nykyinen järjestelmä on tässä suhteessa tietoturvan kannalta vähän heikoilla, koska kaikki turvaa käyttöjärjestelmän kykyihin.

        "asiakaspäätteen voi tuoda kotiin valmiiksi asennettuna muistipiirinä"

        Melko lennokasta läppää.

        En ole kuullut että yhtäkään suomalaista pankkitiliä olisi tyhjennetty _fyysisen_ avainlukulistan ja www-pohjaisen pankkipalvelun kautta.

        Mutta jos avainlukulista muutetaan digitaaliseksi, vaikka pankkimaailman "muistilevylle", niin sen voi kaapata etänä vaikka toiselta puolelta maailmaa.

        Kaikki kehitys ei ole hyväksi. Tietoturvan suhteen ollaan menossa koko ajan huonompaan suuntaan.


      • Anonyymi

        Ei se ole läppää vaan tulossa käyttöön. Käytännössä käyttöjärjestelmä siis joutuu tekemään cpu-resetin yhdelle corelle ja ajamaan sitten ohjelman tietystä normaaliosoiteavaruuden ulkopuolella olevasta osoitteesta. Osoitteeseen ei siis päästä käsiksi edes tietokoneelta. Tämä core hoitaa nyt pankkiyhteyden tietynlaisen API:n yli ja sillä on pääsy sisäiseen salausmuistiinsa - joka on piirin sisällä. Näin ollen avaimet saadaan vaihdettua one-time-only salauksella ilman että kukaan pääsee väliin. Teknisesti ottaen, tilanne on sama, kuin olisi yhteydessä pankin järjestelmään etänä: Etälaite nyt sattuu vain sijaitsemaan oman cpu:si sisällä. Pankki saadaan ikään kuin tulemaan palvelemaan sinua kotiisi.
        Eli eräänlaisesta crypto-cpu:sta on kyse, jonka väliin ei kertakaikkiaan pääse.


    • Anonyymi

      Älä nyt viitsi suoltaa täyttä potaskaa. SSD -levyjen muistipiirit ei ole lähellekään yhtä nopeita kuin RAM -muistin muistipiirit. Lisäksi SSD -levyjen muistipiirit on täysin erityyppisiä kuin RAM -muistin muistipiirit. SSD -levyjen muistipiirit ei sovellu massamuistiksi edes teoriassa. Lisäksi jos nyt leikitään, että joku rakentaisi niistä keskusmuistin, niin kuinkas kauan luulisit moisen keskusmuistin kestävän käyttökunnossa kun massamuistikäytössäkin SSD -levy kuluu jokaisen kirjoitusoperaation seurauksena? Et ilmeisesti ylipäätänsäkään ymmärrä sitä kuinka tietokoneiden RAM-muisti ja sen käyttö tietokoneessa toimii, muussa tapauksessa et väittäisi tuollasta aivan täyttä potaskaa olevaa väitettä. Et ilmeisesti lisäksi ymmärrä sitä, että kun jotain ohjelmaa ajetaan, niin kyse ei ole vain siitä, että ohjelma ladataan muistiin. Ajettavat ohjelmat myös tekee muistivarauksia RAM-muistista ajonaikaisesti , eli kyse ei ole pelkästään siitä että ohjelmakoodi on muistissa. RAM -keskusmuisti ja massamuistit ei kyllä ole yhdistymässä ja niiden välinen ero on ihan taatusti relevantti asia tulevaisuudessakin.

      Kaikenlaista puppua sitä saakin lukea.

    • Anonyymi

      Tarkoitus oli siis tottakai sanoa, että SSD -levyjen muistipiirit ei sovellu KESKUSMUISTIKSI edes teoriassa. Massamuistin rakentamiseen ne tietenkin sopii, siihenhän niitä käytetäänkin.

    • Anonyymi

      Lisään vielä sen, että eihän sellaisten ohjelmien tekemiseen, joita ei voi muuttaa jne tarvita mitään RAM -keskusmuistin ja massamuistin yhdistämistä. Eihän siihen tarvita mitään muuta kuin ROM -muisti (Read Only Memory) jollasta tietokoneissa on olut niin kauan kuin tietokoneita ylipäätänsä on ollut olemassa. ROM -muisti koostuu muistipiireitstä, joille on tallennettu ohjelmakoodi pysyvästi ja kuten muistin nimikin sanoo sitä muistia voi ainoastaan lukea, ei kirjottaa. Onhan nyt herranjestas ROM -muistia ollut tietokoneissa ja esim sulautetuissa järjestelmissä kuten vaikka pesukoneissa yhtä kauan kuin laitteita on ollut ylipäätänsä olemassa sellaisina,että niissä on jonkinlainen tietokone toimintaa ohjaamassa.

      ROM -muisti ei ole sekään rakennettu samanlaisista muistipiireistä kuin SSD -massamuistit.

      Osa ROM -muisteista on sellasia, että ne on kirjotettu kerrantehtaalla, sitten on uudelleen kirjotettavia flashattavia muisteja, jotka toimii ROM -muistin tapaan. On myös olemassa EPROM -muisteja, jotka voidaan tyhjentää ja ohjelmoida uudelleen erillisen ohjelmointilaitteen avulla.

    Ketjusta on poistettu 6 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Taasko se show alkaa

      Koo osottaa taas mieltään
      Ikävä
      27
      1898
    2. Heikki Silvennoinen petti vaimoaan vuosien ajan

      Viiden lapsen isä Heikki kehuu kirjassaan kuinka paljon on pettänyt vaimoaan vuosien varrella.
      Kotimaiset julkkisjuorut
      134
      1883
    3. Miksi ihmeessä nainen seurustelit kanssani joskus

      Olin ruma silloin ja nykyisin vielä rumempi En voi kuin miettiä että miksi Olitko vain rikki edellisestä suhteesta ja ha
      Ikävä
      23
      1838
    4. Persut nimittivät kummeli-hahmon valtiosihteeriksi!

      Persujen riveistä löytyi taas uusi törkyturpa valtiosihteeriksi! Jutun perusteella järjenjuoksu on kuin sketsihahmolla.
      Perussuomalaiset
      85
      1630
    5. Onko ministeri Juuso epäkelpo ministerin tehtäviensä hoitamiseen?

      Eikö hänellä ole kompetenttia hoitaa sosiaali- ja terveysministetin toimialalle kuuluvia ministerin tehtäviä?
      Perussuomalaiset
      60
      1442
    6. Sakarjan kirjan 6. luku

      Jolla korva on, se kuulkoon. Sain profetian 22.4.2023. Sen sisältö oli seuraava: Suomeen tulee nälänhätä niin, että se
      Profetiat
      20
      1256
    7. Elia tulee vielä

      Johannes Kastaja oli Elia, mutta Jeesus sanoi, että Elia tulee vielä. Malakian kirjan profetia Eliasta toteutuu kokonaan
      Helluntailaisuus
      37
      1153
    8. Avaa sydämesi mulle

      ❤ ❤❤ Tahdon pelkkää hyvää sulle Sillä ilmeisesti puhumalla Avoimesti välillämme Kaikki taas selviää Kerro kaikki, tahdo
      Ikävä
      38
      1150
    9. Söpö lutunen oot

      Kaipaan aina vaan, vaikkakin sitten yksipuolisesti.
      Ikävä
      11
      1148
    10. Nellietä Emmaa ja Amandaa stressaa

      Ukkii minnuu Emmaa ja Amandaa stressaa ihan sikana joten voidaanko me koko kolmikko hypätä ukin kainaloon ja syleilyyn k
      Isovanhempien jutut
      10
      1127
    Aihe