O que é a fragmentação de memória interna e externa?
Fragmentação de memória ocorre quando um sistema contém memória que é tecnicamente livre, mas que o computador não pode utilizar. O alocador de memória, que atribui necessária memória para várias tarefas, divide e aloca blocos de memória como eles são obrigados por Programas quando os dados são apagados, mais blocos de memória são liberados no sistema e adicionado de volta para a piscina de memória disponível. Quando as ações do alocador ou a restauração de segmentos de memória anteriormente ocupadas leva a blocos ou mesmo bytes de memória que são demasiado pequenos ou demasiado isolado para ser usada pelo pool de memória, fragmentação ocorreu. A fragmentação pode dar uma mordida significativa de memória livre de um computador e muitas vezes é a causa das mensagens de erro frustrante fora-de-memória.
A fragmentação interna
fragmentação interna ocorre quando o alocador de memória deixa espaço extra dentro vazia de um bloco de memória que foi alocada para um cliente. Isso geralmente acontece porque o design do processador estipula que a memória deve ser cortado em blocos de determinados tamanhos - por exemplo, os blocos podem ser obrigados a ser uniformemente ser dividida por quatro, oito ou 16 bytes. Quando isso ocorre, um cliente que precisa de 57 bytes de memória, por exemplo, pode ser atribuído um bloco que contém 60 bytes, ou mesmo 64. Os bytes extras que o cliente não precisa ir para o lixo, e ao longo do tempo esses pequenos pedaços de memória não utilizada pode se acumular e criar grandes quantidades de memória que não pode ser colocada em uso pelo alocador. Porque todos estes bytes são inúteis dentro de blocos de memória de maior dimensão, a fragmentação é considerado interno.
fragmentação externa
fragmentação externa acontece quando o alocador de memória deixa seções de blocos de memória não utilizadas entre porções da memória alocada. Por exemplo, se vários blocos de memória são alocados em uma linha contínua, mas um dos blocos de meia na linha é liberado (talvez porque o processo que estava usando esse bloco de memória parou de correr), o bloco livre está fragmentado. O bloco ainda está disponível para uso pelo alocador mais tarde, se há uma necessidade de memória que se encaixa nesse bloco, mas o bloco agora é inutilizável para necessidades de memória maiores. Ele não pode ser aglomeradas de volta com o total de memória livre disponível para o sistema, como memória total devem ser contíguos para que seja utilizável para tarefas maiores. Desta forma, as seções inteiras de memória livre pode acabar isolado do todo, que são muitas vezes demasiado pequeno para uso significativo, o que cria uma redução global de memória livre que ao longo do tempo pode levar a uma falta de memória disponível para tarefas-chave.
A fragmentação pode significar grandes problemas para os sistemas
A fragmentação pode se tornar um problema porque se acumula ao longo do tempo, criando blocos pequenos e inúteis de memória e limitar a quantidade de memória livre disponível de um computador. À medida que avança, a fragmentação pode causar desempenho do sistema para tornar-se lento e lento no curto prazo- a longo prazo, a fragmentação pode encurtar a vida útil de um computador ou servidor em 30 por cento, em média. Dos dois tipos de fragmentação, interna é mais previsível do que externa, porque a quantidade de espaço desperdiçado é determinada por parâmetros do alocador de memória (como os grandes blocos alocados deve ser), que é uma constante. Além disso, a quantidade de memória em geral perderam a fragmentação interna é geralmente menor do que o que está perdido para fragmentação externa, embora possa gradualmente acumular. fragmentação externa, por outro lado, é mais difícil de prever, porque na maioria dos casos, vários processos são regularmente iniciar e parar no sistema e blocos de memória que são usados para diferentes comprimentos de tempo são liberados em uma ordem diferente do que eles estavam cheios, deixando lacunas na memória disponível.
Combate Fragmentação para melhorar o desempenho
Video: Estrutura Interna da Memória Principal ( Professor: Quintão / Univercidade - Carioca )
Quando se trata de otimizar RAM, a única solução é útil para reiniciar o sistema, o que elimina grande parte da memória em uso por programas de longa duração e dá ao computador um novo começo para a alocação de memória. Ferramentas que pretendem desfragmentar RAM são enganosas, como o gerenciador de memória virtual em computadores modernos trabalha para otimizar o uso de RAM constantemente. Para o seu disco rígido, no entanto, alguns desfragmentação pode ser necessária para maximizar o desempenho do sistema. Se você executar o Windows Vista ou versões posteriores, o sistema desfragmenta automaticamente o seu espaço no disco rígido periodicamente para você. Se você observar o desempenho do sistema mais lento e deseja executar o desfragmentador, você pode iniciar manualmente o processo clicando em "Começar," então "Todos os programas | Acessórios | Ferramentas do sistema | Desfragmentador de Disco." Finalmente, clique em "Desfragmentar agora." O processo pode levar de minutos a horas, dependendo de como fragmentado seu disco rígido é, mas a boa notícia é que você pode usar seu computador enquanto o Desfragmentador de disco está em execução. O problema da fragmentação não se aplica a todos os sistemas operacionais de forma igual. Para computadores Mac, desfragmentação não é necessário porque Mac OS X automaticamente otimiza espaço em disco quando os arquivos são gravados. máquinas Linux também não exigem desfragmentação regular porque eles atribuir memória em um formato disperso em vez de uma área contígua, dando a sala de arquivos para expandir. Os usuários do Linux que vêem uma queda no desempenho do sistema deve considerar aumentar o tamanho do seu disco rígido. Finalmente, você nunca deve desfragmentar uma unidade de armazenamento de estado sólido (como uma unidade USB), uma vez que a desfragmentação pode realmente diminuir a vida útil de drives de estado sólido.
Referências
- ligação EDN de rede: Manipulação de fragmentação de memória
- ligação SQL Server Central: Monitoramento de Desempenho por Measurement fragmentação interna
- ligação Memória Tutorial de Gestão: Seção 2 - Memória Gestão Tutorial
- ligação Bitsum: O que é memória virtual?
- ligação Microsoft: Melhorar o desempenho desfragmentando o disco rígido
- ligação Como Geek: HTG Explica: Por que o Linux não precisa de desfragmentação
- ligação Apple: Disk Utility 12.x: Sobre desfragmentação de disco