Muitos carneiros. Como usá-lo?

14

Meu PC tem 8 Gb de ram. Existe alguma maneira de fazer o ubuntu usar a maior parte dele? Quero dizer, raramente soltam caches e mantêm os programas abertos no RAM por mais tempo, pré-carregam aplicativos na inicialização, etc.

user73331
fonte
O Ubuntu descarta caches ou move programas abertos para troca?
Mikewhatever 4/10
Você tem a versão de 64 ou 32 bits?
Addison Montgomery

Respostas:

8

Você pode fazer um ramdisk para certos diretórios usandotmpfs

Por exemplo, para o ~/.cache/diretório que o google chrome e o chromium usam para armazenar dados em cache, a entrada /etc/fstabseria:

tmpfs /home/your_username/.cache tmpfs defaults,size=1024M 0 0

No entanto, deve-se notar que o conteúdo é perdido a cada reinicialização.

Outro diretor adequado pode ser /tmp. Observe que você pode especificar o tamanho dos tmpfs em valores absolutos ou relativos (à sua RAM):

Use 1G de sua RAM:

tmpfs /tmp tmpfs nosuid,size=1G 0 0

ou use 10% da sua RAM disponível:

tmpfs /tmp tmpfs nosuid,size=10% 0 0
phoibos
fonte
2

O pré-carregamento deve ser fácil o suficiente - já que os caches / buffers do linux, tanto quanto possível, basta classificar as bibliotecas / binários que você deseja "pré-carregar" para / dev / null - que devem aquecer o cache. Inicie um script como o seguinte na inicialização:

#/bin/bash
PROGS=("/usr/bin/jiha" "/usr/bin/doho")
for i in "${PROGS[@]}"; do 
    cat $i > /dev/null
    for j in $(ldd "$i"); do  # this does not work -- need to filter ldd output (awk)
        cat $j > /dev/null
    done
done

Isso vai desperdiçar muito tempo criando algumas bibliotecas repetidas vezes, é um pouco mais complicado pré-carregar as bibliotecas necessárias apenas uma vez - mas o impacto depende do tamanho da matriz PROGS.

O resto (raramente elimina caches, ...) é muito bem cuidado pelo sistema por padrão - ele pega o que pode usar e o deixa ir apenas se necessário.

HTH

Tom Regner
fonte
Isso afetará negativamente a E / S do disco? Além disso, é significativamente diferente de apenas instalar preload? Perguntas e respostas interessantes, no entanto, estou na mesma situação que o OP e nunca vi> 50% de uso de RAM.
Tom Brossman
1
pré-carregamento O AFAIU pré-carregará durante a operação com base em programas / arquivos abertos pelo usuário; Essa abordagem simples prolonga o tempo de inicialização, mas acelera o tempo de carregamento apenas dos aplicativos desejados, nada mais.
Tom Regner # 03
1
as partes armazenadas em buffer / em cache do carneiro são mostradas como livres na maioria das ferramentas - pois serão liberadas se necessário; mas o linux armazenará em cache todos os arquivos que você acessar, enquanto puder. Se a quantidade total de memória usados em sua máquina, incluindo os tampões / caches, nunca atinge 50% - você tem muita memória RAM para o que você faz :-)
Tom Regner
É bom saber, obrigado. Ram é tão barato quanto mais eu apenas recebo extra. Bom para executar a VM ocasional, mas provavelmente não é necessário.
Tom Brossman
Sim, é bom não ficar sem memória - vale a pena. Saltou para 8G em ambas as máquinas (trabalho / casa) - apenas agradável.
Tom Regner #