学习啦 > 学习电脑 > 电脑故障 > 电脑故障现象 > 系统变慢 >

c盘temp文件夹存在大量sess开头文件的问题原因是什么

时间: 加城1195 分享

  我们使用电脑和手机时候最不能忍受就是设备又卡又慢了,严重影响我们工作或者游戏体验。有用户服务器经常宕机,而且重启后也总是cpu占用率非常高,而一旦关闭iis则恢复正常。于是进行了仔细地排查。当在清理垃圾文件时,发现c:\windows\temp文件夹中存在超级多以sess_开头的文件,此类文件之多使得无法正常的打开temp文件夹和删除清理

  方法步骤

  一、 temp文件夹大量文件的删除

  以sess开头的存在于temp系统临时文件夹的文件,是php的session保存文件,由于php建立了session却在过期后没有成功删除,于是导致大量文件的积累。

  清理方法很简单,新建批处理文件del_temp.bat,其中写入如下命令:

  复制代码 代码如下:

  del %TEMP% /s /q *.*

  保存后双击运行,即开始进行删除处理(也可直接在cmd命令行中输入执行)

  你也可以将其加入开机启动项,以使得每次重启系统后即执行一次删除处理。

  提示:

  1. 如果这里执行一直显示无法进行(志文工作室最先遇到的情况即如此),则可能是temp文件夹及其中部分文件正处于使用状态,那么你可以在同目录下新建一个文件夹tmp,然后修改系统环境变量temp和tmp的位置为此,接着重启系统使得新的临时目录生效,此时即可对temp文件任意删改了。

  2. 志文工作室的服务器temp文件夹内存在数十万这样的文件,清理了若干小时才完成。故在进行处理前应停止iis:

  net stop iisadmin 关闭iis服务

  net start iisadmin 开启iis服务

  3. 当然,你不希望在处理的过程中让网站关闭如此之久,所以你应依次进行的操作是:

  1>. 关闭iis

  2>. 更改php保存session的默认路径(参考后面内容)

  3>. 开启iis,检查服务器所有站点是否正常

  4>. 执行del_temp.bat进行清理

  二、修改php的Session保存路径session.save_path

  1. 打开php.ini文件,查找到

  “;session.save_path = "/tmp"”

  将其修改为指定的位置用于存储session,例如,志文工作室将其改为:

  session.save_path = "c:/tmp/phpsession"

  当然你也可以使用分级目录的方式,比如改为这样:

  session.save_path="5;c:/tmp/phpsession"

  关于session的分级目录存放请参考后续内容详解

  2. 新建文件夹路径:c:/tmp/phpsession

  3. 添加该路径(即phpsession文件夹)的internet来宾账户修改和写入权限,注意最好不要给予执行权限。

  4. 启动iis,观察该目录是否会有新的session文件产生。

  三、php的session多级目录存放解决大量临时文件效率问题

  session多级存放可以缓解一个目录下session文件过多带来的读写效率问题。

  php.net上针对sesstion配置相关的说明:http://cn.php.net/manual/zh/ref.session.php

  session.save_path string

  session.save_path 定义了传递给存储处理器的参数。如果选择了默认的 files 文件处理器,则此值是创建文件的路径。默认为 /tmp。参见 session_save_path()。

  此指令还有一个可选的 N 参数来决定会话文件分布的目录深度。例如,设定为 '5;/tmp' 将使创建的会话文件和路径类似于

  /tmp/4/b/1/e/3 /sess_4b1e384ad74619bd212e236e52a5a174If

  要使用 N 参数,必须在使用前先创建好这些目录。在 ext/session 目录下有个小的 shell 脚本名叫 mod_files.sh 可以用来做这件事。此外注意如果使用了 N 参数并且 N 大于 0,那么将不会执行自动垃圾回收,更多信息见 php.ini。

  另外如果用了 N 参数,要确保将 session.save_path 的值用双引号 “quotes” 括起来,因为分隔符分号( ;)在 php.ini 中也是注释符号。

  参考以上说明,在定义session.save_path中可以定义多级存放的路径,于是我们可以修改php.ini中的session.save_path为:

  session.save_path = “2;/data/session_tmp”

  如此将session文件分成两级存放,即类似于

  /data/session_tmp/4/b/sess_4b1e384ad74619bd212e236e52a5a174If

  取session的前两位字符作为二级目录索引,但是php并不生成目录,需要自己手工生成,这里提供一个php脚本来生成初始的目录。

  复制代码 代码如下:

  $string = '0123456789abcdefghijklmnopqrstuvwxyz';

  $length = strlen($string);

  function makeDir($param)

  {

  if(!file_exists($param)) {

  echo "mkdir ".$param."\n”;

  exec("mkdir ".$param);

  }

  }

  for($i = 0; $i < $length; $i++) {

  for($j = 0; $j < $length; $j++) {

  makeDir('/data/session_tmp/'.$string[$i].'/'.$string[$j]);

  }

  }

  ?>

  session目录分级处理之后,IO处理值增加,http进程降低,web处理效率明显好转

  补充:解决系统变慢的常用技巧方法

  1、在我的电脑窗口,右击要清理的盘符―“属性”―“清理磁盘”--勾选要删除的文件--确定--是。

  2、右键浏览器e――属性――点2个删除1个清除(都要逐一确定)――确定 。

  3、把C:\WINDOWS\Prefetch(预读文件)把里面的文件全部删除

  4、用优化大师或超级兔子清理注册表和垃圾文件。

  5、“开始”――运行中输入msconfig――确定――启动――除了输入法ctfmon以外的勾全去掉。

  6、右键我的电脑”――属性――点高级――点启动和故障恢复中的设置――去掉所有的勾――写入调试信息选择“无”――确定――点高级下面错误报告――点禁用――2次确定。

  7、“开始”..打开控制面板中的文件夹选项..点查看..点去末项自动搜索文件夹前面的勾..确定。

  8、右键我的电脑――属性――硬件――设备管理器――双击IDE控制器――次要通道――高级设置――传送模式都选DMA――设备类型选无――确定――主要通道也同样设置――确定。

  9、右键C盘进行磁盘清理和其它选项中的系统还原清理。

  10、删除不用的程序软件。


系统变慢相关文章:

1.电脑运行速度变得越来越慢怎么解决

2.电脑太卡运行很慢的解决方法

3.如何解决win7电脑运行很慢很卡

4.Win7系统重装之后运行速度变慢怎么办

5.电脑开机进入桌面特别慢

4035763