abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:22 | Nová verze

    Byla vydána verze 1.90.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    dnes 16:11 | Nová verze

    GNUnet (Wikipedie) byl vydán v nové major verzi 0.25.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | Nová verze

    Byla vydána nová major verze 7.0 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově je postavena je na Debianu 13 (Trixie) a GNOME 48 (Bengaluru). Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | IT novinky

    Společnost Meta na dvoudenní konferenci Meta Connect 2025 představuje své novinky. První den byly představeny nové AI brýle: Ray-Ban Meta (Gen 2), sportovní Oakley Meta Vanguard a především Meta Ray-Ban Display s integrovaným displejem a EMG náramkem pro ovládání.

    Ladislav Hagara | Komentářů: 0
    dnes 01:11 | Nová verze

    Po půl roce vývoje od vydání verze 48 bylo vydáno GNOME 49 s kódovým názvem Brescia (Mastodon). S přehrávačem videí Showtime místo Totemu a prohlížečem dokumentů Papers místo Evince. Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.

    Ladislav Hagara | Komentářů: 4
    včera 16:22 | Nová verze

    Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Nová verze

    Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).

    Ladislav Hagara | Komentářů: 5
    včera 15:11 | Nová verze

    Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | Humor

    Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.

    Ladislav Hagara | Komentářů: 8
    včera 11:33 | Zajímavý článek Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (50%)
     (58%)
     (0%)
     (8%)
     (12%)
     (4%)
     (15%)
     (4%)
     (12%)
    Celkem 26 hlasů
     Komentářů: 3, poslední dnes 14:58
    Rozcestník

    Dotaz: Zjisteni velikosti swapu

    25.2.2007 19:12 M
    Zjisteni velikosti swapu
    Přečteno: 399×
    ahoj, chtel bych si udelat graf vyuziti swapu, jenze nedokazu zakladni vec - vycucnout si ten udaj :( zkousel jsem neco jako free -b | grep Swap | cut -fx -d" " jenze pokud se v tom radku meni pocet mezer diky ruznemu poctu cifer, tak to takhle proste nepujde:-( nenapadlo by prosim nekoho neco efektivnejsiho?

    Odpovědi

    25.2.2007 19:22 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Zjisteni velikosti swapu
    Nějak nechápu proč si to nevyčteš z /proc ?
    [petr@soban ~]$ cat /proc/meminfo | grep Swap
    SwapCached:          0 kB
    SwapTotal:      977248 kB
    SwapFree:       977248 kB
    
    25.2.2007 19:25 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Zjisteni velikosti swapu
    Nebo se rovnou podívat do /proc/swaps
    25.2.2007 19:47 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Zjisteni velikosti swapu
    Ale tady to není podle mě tak jednoduché, různý počet swapů (pokud jich má více) atd...

    Jinak:
    [petr@soban ~]$ gawk '/SwapCached/ {print $2 }' /proc/meminfo
    0
    
    25.2.2007 19:50 M
    Rozbalit Rozbalit vše Re: Zjisteni velikosti swapu
    diky, tohle si taky napisu, kdyby se to jednou hodilo ;)
    25.2.2007 19:27 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Zjisteni velikosti swapu

    Můžete např. použít awk nebo to nejdřív prohnat přes

      tr -s ' '
    
    25.2.2007 19:48 M
    Rozbalit Rozbalit vše Re: Zjisteni velikosti swapu
    Děkuji, to přesně hledám free -b | grep Swap | tr -s ' ' | cut -f3 -d" "
    25.2.2007 19:55 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Zjisteni velikosti swapu
    A proč tak složitě ? 3 roury a 4 programy ????

    Jsem vám napsal řešení:
    gawk '/SwapCached/ {print $2 }' /proc/meminfo
    Jinak i bude rychlejší:
    [petr@soban ~]$ time free -b | grep Swap | tr -s ' ' | cut -f3 -d" "
    0
    
    real    0m0.009s
    user    0m0.003s
    sys     0m0.006s
    [petr@soban ~]$ time gawk '/SwapCached/ {print $2 }' /proc/meminfo
    0
    
    real    0m0.003s
    user    0m0.001s
    sys     0m0.003s
    
    25.2.2007 20:14 M
    Rozbalit Rozbalit vše Re: Zjisteni velikosti swapu
    /proc/meminfo mi nepoda informaci, kolik presne swapu je vyuzito, pouze mi rekne, kolik swapu mam celkem a kolik je volnych - rozdil techto hodnot je prave ta hodnota, kterou mi to poskytne pres ty roury. nepochybne existuje i elegantnejsi reseni nez ty "moje" roury..
    25.2.2007 20:21 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Zjisteni velikosti swapu
    A co potom označuje hodnota SwapCached ?
    25.2.2007 20:37 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Zjisteni velikosti swapu
    25.2.2007 21:19 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Zjisteni velikosti swapu
    Jasně moje blbost - schválně jsem se díval jak to free počítá:
            meminfo();
    
    ......
            printf(
                "%-7s %10Lu %10Lu %10Lu\n", "Swap:",
                S(kb_swap_total),
                S(kb_swap_used),
                S(kb_swap_free)
            );
    
    ......
    
    A meminfo je:
    void meminfo(void){
      char namebuf[16]; /* big enough to hold any row name */
      mem_table_struct findme = { namebuf, NULL};
      mem_table_struct *found;
      char *head;
      char *tail;
      static const mem_table_struct mem_table[] = {
      {"Active",       &kb_active},       // important
      {"Buffers",      &kb_main_buffers}, // important
      {"Cached",       &kb_main_cached},  // important
      {"Committed_AS", &kb_committed_as},
      {"Dirty",        &kb_dirty},        // kB version of vmstat nr_dirty
      {"HighFree",     &kb_high_free},
      {"HighTotal",    &kb_high_total},
      {"Inact_clean",  &kb_inact_clean},
      {"Inact_dirty",  &kb_inact_dirty},
      {"Inact_laundry",&kb_inact_laundry},
      {"Inact_target", &kb_inact_target},
      {"Inactive",     &kb_inactive},     // important
      {"LowFree",      &kb_low_free},
      {"LowTotal",     &kb_low_total},
      {"Mapped",       &kb_mapped},       // kB version of vmstat nr_mapped
      {"MemFree",      &kb_main_free},    // important
      {"MemShared",    &kb_main_shared},  // important, but now gone!
      {"MemTotal",     &kb_main_total},   // important
      {"PageTables",   &kb_pagetables},   // kB version of vmstat nr_page_table_pages
      {"ReverseMaps",  &nr_reversemaps},  // same as vmstat nr_page_table_pages
      {"Slab",         &kb_slab},         // kB version of vmstat nr_slab
      {"SwapCached",   &kb_swap_cached},
      {"SwapFree",     &kb_swap_free},    // important
      {"SwapTotal",    &kb_swap_total},   // important
      {"VmallocChunk", &kb_vmalloc_chunk},
      {"VmallocTotal", &kb_vmalloc_total},
      {"VmallocUsed",  &kb_vmalloc_used},
      {"Writeback",    &kb_writeback},    // kB version of vmstat nr_writeback
      };
      const int mem_table_count = sizeof(mem_table)/sizeof(mem_table_struct);
    
      FILE_TO_BUF(MEMINFO_FILE,meminfo_fd);
    
      kb_inactive = ~0UL;
    
      head = buf;
      for(;;){
        tail = strchr(head, ':');
        if(!tail) break;
        *tail = '\0';
        if(strlen(head) >= sizeof(namebuf)){
          head = tail+1;
          goto nextline;
        }
        strcpy(namebuf,head);
        found = bsearch(&findme, mem_table, mem_table_count,
            sizeof(mem_table_struct), compare_mem_table_structs
        );
        head = tail+1;
        if(!found) goto nextline;
        *(found->slot) = strtoul(head,&tail,10);
    nextline:
        tail = strchr(head, '\n');
        if(!tail) break;
        head = tail+1;
      }
      if(!kb_low_total){  /* low==main except with large-memory support */
        kb_low_total = kb_main_total;
        kb_low_free  = kb_main_free;
      }
      if(kb_inactive==~0UL){
        kb_inactive = kb_inact_dirty + kb_inact_clean + kb_inact_laundry;
      }
      kb_swap_used = kb_swap_total - kb_swap_free;
      kb_main_used = kb_main_total - kb_main_free;
    }
    
    
    25.2.2007 20:37 M
    Rozbalit Rozbalit vše Re: Zjisteni velikosti swapu
    nemam tuseni... na svem routeru pouzivam aktualne 2,4MB swapu, ovsem SwapCached ukazuje 0, takze to jistojiste neni to, co potrebuji...

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.