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.
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.
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.
Respostas:
Você pode fazer um ramdisk para certos diretórios usando
tmpfs
Por exemplo, para o
~/.cache/
diretório que o google chrome e o chromium usam para armazenar dados em cache, a entrada/etc/fstab
seria: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:
ou use 10% da sua RAM disponível:
fonte
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:
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
fonte
preload
? Perguntas e respostas interessantes, no entanto, estou na mesma situação que o OP e nunca vi> 50% de uso de RAM.