menos comando fica sem memória

2

Ao pesquisar por string (sem regex, etc.) no arquivo grande less filename e less -b 1 filename fecha ou imprime, ele não pode alocar memória. top mostra menos usando aproximadamente 5% da memória antes de morrer (intervalo de 1 segundo).

Que outra ferramenta posso usar que suporte arquivos grandes? O arquivo tem apenas 100 mb de logs.

$ less -V
less 458 (GNU regular expressions)
Copyright (C) 1984-2012 Mark Nudelman

Detalhes do sistema operacional:

$ ulimit -a
-t: cpu time (seconds)              unlimited
-f: file size (blocks)              unlimited
-d: data seg size (kbytes)          unlimited
-s: stack size (kbytes)             8192
-c: core file size (blocks)         0
-m: resident set size (kbytes)      unlimited
-u: processes                       15988
-n: file descriptors                1024
-l: locked-in-memory size (kbytes)  64
-v: address space (kbytes)          2048000
-x: file locks                      unlimited
-i: pending signals                 15988
-q: bytes in POSIX msg queues       819200
-e: max nice                        0
-r: max rt priority                 0
-N 15:                              unlimited
$ cat /etc/*rele*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=13.10
    
por Rumca 06.02.2014 / 23:38

2 respostas

2

Isso provavelmente não tem nada a ver com sua memória e tudo a ver com a maneira como less é escrito e quanto espaço ele aloca para suas variáveis internas.

De qualquer forma, less realmente não foi criado para isso, você deve usar uma ferramenta como grep :

grep yourQuery file

Se você quiser ver as linhas em torno de sua consulta (5 por exemplo), execute isto:

grep -C 5 yourQuery file

Se você tiver muitas correspondências para isso, poderá passar a saída para less e agora poderá pesquisá-la:

grep -C 5 yourQuery file | less

Claro, se você quiser fazer isso manualmente, você pode abrir o arquivo em um editor de texto. Qualquer editor sério como vim ou emacs poderá abrir e pesquisar em um arquivo de 100MB.

    
por 06.02.2014 / 23:42
0

Você deve se esforçar para executar menos sem números de linha, pois esse é o caso comum com arquivos grandes, menos -n. Eu também gosto de usar a busca insensível a maiúsculas e minúsculas, então é sempre: menos -ni onde for possível (o padrão de busybox menos não suporta essas opções de linha de comando, por exemplo).

    
por 10.12.2016 / 20:00

Tags