Назад | Перейти на главную страницу

Есть ли ограничения на размер трубы в AIX 5.3?

У меня проблемы при выполнении операции cat / tail / head с большими файлами в Aix 5.3. При запросе кота из нескольких файлов 1Go перенаправляется на другой:

cat file1 file2 file3 > outputfile

Размер файла вывода ограничен 2Go (cat: ошибка вывода и файл результатов - 2147483647 байт)

Файловая система - jfs2. Я успешно загрузил через ftp файлы 10Go в файловую систему без проблем.

Я не нашел ничего подходящего в etc / security / limits:

default:
fsize = -1
core = 2097151
cpu = -1
data = 262144
rss = 65536
stack = 65536
nofiles = 20000

ulimit -a

core file size (blocks)     unlimited
data seg size (kbytes)      245759
file size (blocks)          unlimited
max memory size (kbytes)    unlimited
open files                  2000
pipe size (512 bytes)       64
stack size (kbytes)         32768
cpu time (seconds)          unlimited
max user processes          2048
virtual memory (kbytes)     278527

Проблема не возникает на другом сервере AIX 5.3, я просто ищу другую конфигурацию, которая может быть источником проблемы.

/ etc / security / limits на сервере без проблем:

default:
        fsize = -1
        core = 2097151
        cpu = -1
        data = 262144
        rss = 65536
        stack = 65536
        nofiles = 20000

ulimit -a на сервере без проблем:

core file size        (blocks, -c) 1048575
data seg size         (kbytes, -d) 131072
file size             (blocks, -f) unlimited
max memory size       (kbytes, -m) 32768
open files                    (-n) 20000
pipe size          (512 bytes, -p) 64
stack size            (kbytes, -s) 32768
cpu time             (seconds, -t) unlimited
max user processes            (-u) 262144
virtual memory        (kbytes, -v) unlimited

Вы сказали, что используете ext2, но это файловая система Linux. Я так понимаю, вы имели в виду JFS2?

JFS2 и cat поддерживают файлы> 2 ГБ, поэтому я думаю, что наиболее вероятным является значение ulimit - вы добавили содержимое / etc / security / limit, но что произойдет, если вы запустите

ulimit -a

как человек, казняющий кошку?

Если вы на самом деле используете JFS, а не JFS2, вам необходимо проверить, включен ли в файловой системе большой файл,

Enter smit fs.
Select Add/Change/Show/Delete File Systems.
Choose Journaled File Systems.
Select Change/Show Characteristics of a Journaled File System.
Choose the file system that you are using.
Scroll down until you get to Large File Enabled.

Наконец, вы можете убедиться, что вы используете 64-битное ядро, а не 32-битное, выполнив следующую команду от имени пользователя root:

bootinfo -K

Это буква K в верхнем регистре. Если возвращается 32, то вам следует перейти на 64-битную.

Ewan