<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>kocherov.net &#187; администрирование</title>
	<atom:link href="https://kocherov.net/tag/administrirovanie/feed/" rel="self" type="application/rss+xml" />
	<link>https://kocherov.net</link>
	<description>создание и поддержка парсеров, систем сбора и анализа информации</description>
	<lastBuildDate>Thu, 19 Feb 2026 13:03:25 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.6.1</generator>
		<item>
		<title>Не удаляются файлы сессий PHP</title>
		<link>https://kocherov.net/ne-udalyayutsya-faylyi-sessiy-php/</link>
		<comments>https://kocherov.net/ne-udalyayutsya-faylyi-sessiy-php/#comments</comments>
		<pubDate>Mon, 19 Nov 2012 16:47:10 +0000</pubDate>
		<dc:creator>Pavel Kocherov</dc:creator>
				<category><![CDATA[Работа]]></category>
		<category><![CDATA[garbage collector]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[администрирование]]></category>

		<guid isPermaLink="false">http://kocherov.net/?p=77</guid>
		<description><![CDATA[Частая проблема &#8212; tmp папка web сервера вдруг содержит n миллионов файлов. Скорее всего это файлы сессий. И образовались они там не вдруг, а за пару месяцев/лет. Диагностируем Во первых, затруднительно посмотреть, что находится в папке, т.к. ни FAR, ни виндовый проводник (серверы с проблемой были на windows) не хотят такую папку открывать (FAR вылетал [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Частая проблема &#8212; tmp папка web сервера вдруг содержит n миллионов файлов. Скорее всего это файлы сессий. И образовались они там не вдруг, а за пару месяцев/лет.</p>
<h5>Диагностируем</h5>
<p>Во первых, затруднительно посмотреть, что находится в папке, т.к. ни FAR, ни виндовый проводник (серверы с проблемой были на windows) не хотят такую папку открывать (FAR вылетал забрав 1гб оперативной памяти, где-то на чтении трехмиллионного файла). Как зайти в папку, содержащую много файлов? Переходим в папку в консоле через <strong>cd</strong> (переходит махом не зависимо от количества файлов) и пишем:</p>
<p><strong>dir /p</strong></p>
<p>Это постраничный вывод содержимого каталога. Несколько раз жмем пробел, убеждаясь что все забито файлами сессий.</p>
<h5>Исправляем</h5>
<p>Что же произошло и почему garbage collector (далее GC) PHP забил на вашу tmp папку и сто лет ее не чистил?</p>
<p>1) Возможно, не правильно заданы параметры php.ini  session.gc_probability и session.gc_divisor. Вероятность запуска GC при каждом запуске скрипта - session.gc_probability / session.gc_divisor. По умолчанию &#8212; 1/100. Соответственно, если задать session.gc_probability = 0 GC не запустится никогда. Соответсвующие параметры нужно проверить и в коде приложения.</p>
<p>2) Возможно, вы изменили session.save_path в своем приложении, и теперь она отличается от той, которая в php.ini. В этом случае GC чистить в вашей кастомной папке ничего не будет и вам нужно заботиться об этом самим, т.к. он чистит только папку, которая указана в ini. Цитата из конфигурационного файла:</p>
<blockquote><p>; NOTE: If you are using the subdirectory option for storing session files<br />
; (see session.save_path above), then garbage collection does *not*<br />
; happen automatically. You will need to do your own garbage<br />
; collection through a shell script, cron entry, or some other method.<br />
; For example, the following script would is the equivalent of<br />
; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):<br />
; cd /path/to/sessions; find -cmin +24 | xargs rm</p></blockquote>
<p>3) Последнее, самое непонятное. Возможно, вы стали жертвой бага - https://bugs.php.net/bug.php?id=55333 Не знаю, правда это или нет, и баг ли это php или криворукость админов, но у меня на двух серверах, где не была изменена папка сессий по умолчанию, и все сохранялось в &#171;C:/Windows/Temp&#187;, GC не работал. И это при абсолютной идентичности других настроек с серверами, где папка была изменена и все было ок. Решил проблему просто &#8212; сменил папку с дефолтной на свою, чего и вам желаю.</p>
<h5>Удаляем</h5>
<p>В tmp папке на момент решения проблемы было 4 миллиона файлов. Удалил их просто:</p>
<p><strong>del sess_*</strong></p>
<p>Процесс удаления не слишком нагружает сервер, и было решено просто запустить операцию на сутки. Тихо мирно все старые файлы сессий были выкошены. <strong>Обязательно</strong> перед удалением меняйте tmp папку сессий, т.к. иначе пользователи вашего ресурса будут все сутки без конца разлогиниваться (в лучщем случае), а в худшем будут толстые дата лосы из-за вашей невнимательности. Сначала смените путь в php.ini, потом удаляйте.</p>
<p>Для Linux серверов есть хорошая статья на хабре: <a href="http://habrahabr.ru/post/152193/">http://habrahabr.ru/post/152193/</a></p>
]]></content:encoded>
			<wfw:commentRss>https://kocherov.net/ne-udalyayutsya-faylyi-sessiy-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Принудительное уменьшение объема файла данных SQL server</title>
		<link>https://kocherov.net/umenshenie-obema-fayla-bd-sql-server/</link>
		<comments>https://kocherov.net/umenshenie-obema-fayla-bd-sql-server/#comments</comments>
		<pubDate>Fri, 16 Nov 2012 05:01:46 +0000</pubDate>
		<dc:creator>Pavel Kocherov</dc:creator>
				<category><![CDATA[Работа]]></category>
		<category><![CDATA[mssql]]></category>
		<category><![CDATA[администрирование]]></category>

		<guid isPermaLink="false">http://kocherov.net/?p=41</guid>
		<description><![CDATA[Столкнулся с ситуацией: файл базы разросся за счет ошибки в приложении и заполнении одной из таблиц мусором. Ошибка исправлена, таблица вычищена, а файл базы не уменьшается. Это особенность mssql, при уменьшении объема данных свободное место системе не возвращается, а резервируется. Но если хочется, есть решение &#8212; использовать release unused space фичу SQL Studio. Не сработало? [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Столкнулся с ситуацией: файл базы разросся за счет ошибки в приложении и заполнении одной из таблиц мусором. Ошибка исправлена, таблица вычищена, а файл базы не уменьшается. Это особенность mssql, при уменьшении объема данных свободное место системе не возвращается, а резервируется.</p>
<p>Но если хочется, есть решение &#8212; использовать release unused space фичу SQL Studio.</p>
<p><img class="alignnone size-full wp-image-47" title="Release-Unused-Spaceactiondownloadupnameshrink01" src="https://kocherov.net/wp-content/uploads/2012/11/Release-Unused-Spaceactiondownloadupnameshrink01.gif" alt="" width="773" height="596" /></p>
<p><a href="https://kocherov.net/wp-content/uploads/2012/11/Release-Unused-Spaceactiondownloadupnameshrink03.gif"><img class="alignnone size-full wp-image-48" title="Release-Unused-Space" src="https://kocherov.net/wp-content/uploads/2012/11/Release-Unused-Spaceactiondownloadupnameshrink03.gif" alt="" width="753" height="665" /></a></p>
<p>Не сработало? Такое бывает, не уж то вы думали, что Microsoft и правда может сделать кнопочку &#171;сделать все хорошо&#187;? Нет, это не их подход. Кроме этого нужно сделать rebuild индексов.</p>
<h4>Отличие rebuild от reorganize.</h4>
<p>Как говорит <a href="http://blog.sqlauthority.com">индус</a>,</p>
<p><strong>Index Rebuild: </strong>Удаляет существующий индекс и создает его по-новой.</p>
<pre class="brush: sql; title: ; notranslate">USE AdventureWorks;
GO
ALTER INDEX ALL ON Production.Product REBUILD
GO
</pre>
<p><strong>Index Reorganize: </strong>Реорганизует индекс, уменьшая фрагментацию.</p>
<pre class="brush: sql; title: ; notranslate">USE AdventureWorks;
GO
ALTER INDEX ALL ON Production.Product REORGANIZE
GO
</pre>
<p><strong>Рекомендации:</strong> Делать rebuild следует при фрагментации индекса более 40%, reorganize &#8212; при фрагментации от 10% до 40%. Rebuild использует больше CPU и ресурсов базы. Development и Enterprise версии SQL server имеют опцию ONLINE для rebuild. Как следует из названия, эта опция делает индекс доступным в процессе переиндексации.</p>
]]></content:encoded>
			<wfw:commentRss>https://kocherov.net/umenshenie-obema-fayla-bd-sql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
