Почему следующий способ не меняет предельный размер основного файла?

Заранее извиняюсь, это не очень полезно, но я думаю, что могу подтвердить, что ваша проблема может быть в процессоре. Недавно я пытался установить CentOS на ноутбук и столкнулся с проблемой несовместимости с Haswell, так что это было своего рода обратной стороной вашей проблемы. Попробуйте еще один компьютер с процессором того же типа, что и на исходном компьютере, на котором выполнялась установка.

4
27.10.2018, 18:38
4 ответа

Según la página de manual, ulimit"proporciona control sobre los recursos disponibles para el shell y los procesos iniciados por él". Entonces, el valor ulimites válido para el shell actual.

Está invocando ulimiten un subshell, y cuando termina, vuelve al valor predeterminado ulimit.

[root@centos7 ~]# ulimit -c
0
[root@centos7 ~]# ulimit -c 1024
[root@centos7 ~]# ulimit -c
1024
8
27.01.2020, 20:46

El comando ulimitfunciona para el shell que lo llama y para sus descendientes.

El comando sutendrá el límite que usted configuró. El shell principal no se ve afectado.

4
27.01.2020, 20:46

I am very confused and wonder if I am missing something

Creo que te falta (o no te reconoce)/etc/security/limits.confAquí está la plantilla de Suse Linux Enterprise Server 11.4, y también cómo configuro globalmente el límite de tamaño de pila en ilimitado frente a los 8 KB predeterminados.

# /etc/security/limits.conf
#
#Each line describes a limit for a user in the form:
#
#<domain>        <type>  <item>  <value>
#
#Where:
#<domain> can be:
#        - an user name
#        - a group name, with @group syntax
#        - the wildcard *, for default entry
#        - the wildcard %, can be also used with %group syntax,
#                 for maxlogin limit
#
#<type> can have the two values:
#        - "soft" for enforcing the soft limits
#        - "hard" for enforcing hard limits
#
#<item> can be one of the following:
#        - core - limits the core file size (KB)
#        - data - max data size (KB)
#        - fsize - maximum filesize (KB)
#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open files
#        - rss - max resident set size (KB)
#        - stack - max stack size (KB)
#        - cpu - max CPU time (MIN)
#        - nproc - max number of processes
#        - as - address space limit (KB)
#        - maxlogins - max number of logins for this user
#        - maxsyslogins - max number of logins on the system
#        - priority - the priority to run user process with
#        - locks - max number of file locks the user can hold
#        - sigpending - max number of pending signals
#        - msgqueue - max memory used by POSIX message queues (bytes)
#        - nice - max nice priority allowed to raise to values: [-20, 19]
#        - rtprio - max realtime priority
#
*       hard    stack   unlimited
*       soft    stack   unlimited
*       hard    nofile  100000
*       soft    nofile  100000

Esto es de SLES, el limits.confnombre y ubicación pueden ser diferentes dependiendo de su distribución de Linux. Establecer los valores aquí será global y tendrá efecto para todo/todos en lugar de usar ulimit, que estaría limitado al alcance de la ventana de shell como se describió.

Tenga cuidado, la configuración incorrecta de algunos elementos puede evitar que inicie sesión en su sistema

2
27.01.2020, 20:46

Su propia respuesta ahora contiene la información que ya se habría necesitado en la pregunta:

Su sistema tiene una configuración inusual.

En Solaris, tiene los siguientes límites y el conjunto de recursos POSIX:

LC_ALL=C ulimit -aHS
-t: time(seconds) unlimited:unlimited
-f: file(blocks) unlimited:unlimited
-d: data(kbytes) unlimited:unlimited
-s: stack(kbytes) 10240:unlimited
-c: coredump(blocks) unlimited:unlimited
-n: nofiles(descriptors) 256:65536
-v: memory(kbytes) unlimited:unlimited

En Linux tiene los siguientes límites típicos:

ulimit -aSH
-t: time(seconds) unlimited:unlimited
-f: file(blocks) unlimited:unlimited
-d: data(kbytes) unlimited:unlimited
-s: stack(kbytes) 8192:unlimited
-c: coredump(blocks) 0:unlimited
-m: memoryuse(kbytes) unlimited:unlimited
-u: processes(count) 26633:26633
-n: nofiles(descriptors) 1024:1048576
-l: memlock(kbytes) 64:64
-M: addressspace(kbytes) unlimited:unlimited
-L: locks(count) unlimited:unlimited
-i: sigpending(count) 26633:26633
-q: messagequeues(count) 819200:819200
-e: schedpriority(nice) 0:0
-r: rtpriority(nice) 0:0
-R: rttime(usec) unlimited:unlimited

Como ve, el límite duro es mucho mayor que el suyo. Esta es la razón por la cual nadie podría entender sus problemas.

Dado que un usuario común puede aumentar los límites suaves a los límites estrictos, la solicitud en su pregunta no necesitaría privilegios de raíz.

0
27.01.2020, 20:46

Теги

Похожие вопросы