При попытке включить EPEL на Centos 6 и это не покажет в repolist

ps -p 12990 -o comm,pcpu

покажет %CPU и COMMAND столбцы для процесса с PID 12990.

-o comm=comm,pcpu интерпретируется Вашим ps как "произведено comm столбец, но переименовывают заголовок comm,pcpu".*

Если Вы явно хотите comm заголовок, чтобы быть "коммуникацией", необходимо будет или использовать два -o флаги:

ps -p 12990 -o comm=comm -o pcpu

или помещенный переименованный comm столбец в конце -o аргумент

ps -p 12990 -o pcpu,comm=comm

*От ps(1) страница справочника:

Поведение ps -o pid=X,comm=Y меняется в зависимости от личности; вывод может составить один столбец, названный "X, comm=Y" или два столбца, названные "X" и "Y". Используйте несколько -o опции, когда в сомнении.

7
04.11.2014, 18:22
3 ответа

Если вы можете sftp, вы не можете запустить ssh? Если да, то такая команда, как:

 ssh user@hostname rm file1 file2 

, должна работать нормально. При использовании общих/частных ключей SSH запрос пароля не выводится.

-121--35504-

Ограничение 1 GiB для памяти ядра Linux в 32-разрядной системе является следствием 32-разрядной адресации, и это довольно жесткое ограничение. Это не невозможно изменить, но это там по очень уважительной причине; изменение имеет последствия.

Давайте вернемся к началу 1990-х годов, когда создавалась Linux. В этих днях у нас были бы аргументы о том, может ли Linux быть создан для запуска в 2 MiB оперативной памяти или если бы он действительно нуждался в 4 целой MiB . Конечно, высококлассные снобы все шарахались над нами, с их 16 серверами-монстрами MiB.

Какое отношение эта забавная маленькая виньетка имеет к чему-либо? В этом мире легко принимать решения о том, как разделить 4 GiB адресное пространство вы получаете от простой 32-битной адресации. Некоторые OSes просто разделили его пополам, рассматривая верхний бит адреса как «флаг ядра»: адреса 0 к 2 31 -1 имели очищенный верхний бит, и были для кода пространства пользователя, а адреса 2 31 от 2 32 -1 имели верхний бит набора, и были для ядра. Вы можете просто посмотреть на адрес и сказать: 0x80000000 и выше, это kernel-space, иначе это user-space.

По мере того, как размеры памяти ПК приближались к пределу памяти 4 GiB, это простое разделение 2/2 начинало становиться проблемой. Пространство пользователя и пространство ядра имели хорошие претензии к большому количеству оперативной памяти, но поскольку наша цель в наличии компьютера, как правило, состоит в том, чтобы запускать пользовательские программы, а не ядра, OSES начали играть с разделением пользователя/ядра. Разделение 3/1 является общим компромиссом.

Что касается вашего вопроса о физическом или виртуальном, на самом деле это не имеет значения. Технически, это ограничение виртуальной памяти, но это только потому, что Linux является OS. на базе виртуальной машины Установка 32 GiB физической оперативной памяти ничего не изменит, и это не поможет swapon раздел 32 GiB swap. Независимо от того, что вы делаете, 32-разрядное ядро Linux никогда не сможет одновременно обращаться к более чем 4 GiB.

(Да, я знаю о PAE . Теперь, когда 64-битные OSES наконец-то захватили власть, я надеюсь, мы сможем начать забывать о том неприятном взломе. Я не верю, что это может помочь вам в этом случае в любом случае.)

Суть в том, что если вы сталкиваетесь с пределом виртуальной машины ядра 1 GiB, вы можете перестроить ядро с разделением 2/2, но это напрямую влияет на пользовательские космические программы.

64-разрядная версия действительно является правильным ответом.

-121--34400-

Вы обеспечили его включение? Если репо не включено, оно не появится в реполисте . Проверьте файлы в /etc/yum.repos.d/* .repo .

Например:

[root@xxx01 ~]# yum repolist 2>&1 | grep epel
epel                                      EPEL Repo                       11,148

Показывает, что EPEL установлен и указан в списке repolist , поэтому я собираюсь отключить его и снова проверить repolist :

[root@xxx01 ~]# sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo
[root@xxx01 ~]# yum repolist 2>&1 | grep epel
[root@xxx01 ~]#

EDIT:

Также можно временно включить репо с помощью опции --enablerepo , которая переопределяет настройку enabled в конфигурации репо.

9
27.01.2020, 20:16

Я обычно использую этот источник для CentOS 6.x, и, подобное RPM -UVH его из локального файла:

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo rpm -Uvh epel-release-6*.rpm

, хотя я не вижу, почему ваши не должны работать, но вы можете попробовать мой. Всегда работал для меня.

2
27.01.2020, 20:16

Я хочу добавить немного на Отличный ответ Уоррена Юнга , потому что вещи на самом деле хуже, чем пишет.

Адресное пространство ядра 1 ГБ дополнительно разделено на две части. 128 МБ для VMAlloc и 896 МБ для Nowmem . Не берите в голову, что это на самом деле значит. При выделении памяти код ядра должен выбрать, кто из них он хочет. Вы не можете просто получить память с какого бассейна имеет свободное пространство.

Если вы выберете vmalloc , вы ограничены 128 МБ. Теперь 1 ГБ не выглядит так плохо ...

Если вы выберете Lowmem , вы ограничены 896 МБ. Не так далеко от 1 ГБ, но в этом случае все распределения окружают до следующей мощности 2. Итак, на 2,3 МБ на самом деле потребляет 4 МБ. Кроме того, вы не можете выделить более 4 МБ в одном вызове при использовании Nowmem .

64-битный действительно правильный ответ.

-121--34401-

Упаковка EPEL-репозитория также теперь устанавливается непосредственно из репозитория Centos Extras во всех поддерживаемых версиях Centos (5, 6 и 7). Джонни Хьюз (одна из команды Centos) упоминает это в комментариях статьи XModulo.com, которую вы последовали, но страница, похоже, была обновлена, чтобы отразить это дело для CentOS 7.

Репозиторий Centos Extras должен Быть включенным по умолчанию, так что вы можете просто запустить:

sudo rpm -e epel-release

, чтобы удалить существующий пакет, а затем:

sudo yum install epel-release

, чтобы включить EPEL.

Источник:

3
27.01.2020, 20:16

Теги

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