导航:首页 > 编程语言 > python清理磁盘空间

python清理磁盘空间

发布时间:2022-04-27 12:09:22

1. cassandra python 怎么删除数据

Cassandra通过写一条“tombstone”来标记一个数据被删除了。被标记的数据默认要10天(配置文件中的
gc_grace_seconds)后且被compaction或cleanup执行到对应的SSTable时才会被真正从磁盘删除,因为如果当时这个
delete操作只在3个节点中的2个执行成功,那么一旦2个有tombstone的节点把数据删了,集群上只剩下没tombstone的那个节点,下次
读这个key的时候就又返回对应的数据,从而导致被删除的数据复活。Repair操作可以同步所有节点的数据从而保证tombstone在3个节点中都存
在,因此如果想确保删除100%成功不会复活需要以小于gc_grace_seconds的周期定期执行repair操作(所以官方建
议”weekly”)。

然而在select数据的时候,在每个SSTable遇到的所有符合查询条件的tombstone要放内存中从而在合并每个SSTable文件的数
据时判断哪些column数据没被删能最终返回,tombstone太多会导致heap被大量占用需要各种GC从而影响性能,所以cassandra默认
读到100000个(可配置)tombstone就强制取消这次读取,因为遇到这种情况一定是你“doing it
wrong”。因此如果经常删除一个row key下的column key,同时又有一次select一个row key下多个column
key的需求,很容易遇到这种情况,tombstone很多的时候即使不到10w最终成功读取了,这次读取也会很慢,并很快导致触发年轻代GC从而拖慢整
个节点的响应速度。

最好的解决方案肯定是设计的时候就避免。但假如在不修改表结构的情况下,解决方案有两种:如果不能接受一个column
key被删又复活,先把gc_grace_seconds改成0,然后删除的时候用ALL模式,当然只要有1个节点超时/挂掉删除就会失败;如果能接受被
删的数据复活,删除只为了减少磁盘空间使用,那就直接把gc_grace_seconds设成0,复活就复活吧。

2. python中,怎样统计一个文件夹使用的磁盘空间

以下代码调试通过:
import os

count = 0
path = r'/Users/mfhj-dz-001-119/Downloads'
for root, dirs, files in os.walk(path):
#print files
fileLength = len(files)
if fileLength != 0:
count = count + fileLength
print "The number of files under <%s> is: %d" %(path,count)

3. 如何释放Python占用的内存

在上文的优化中,对每500个用户,会进行一些计算并记录结果在磁盘文件中。原本以为这么做,这些结果就在磁盘文件中了,而不会再继续占用内存;但实际上,python的大坑就是Python不会自动清理这些内存。这是由其本身实现决定的。具体原因网上多有文章介绍,这里就不了。
本篇博客将贴一个笔者的实验脚本,用以说明Python确实存在这么一个不释放内存的现象,另外也提出一个解决方案,即:先del,再显式调用gc.collect(). 脚本和具体效果见下。

实验环境一:Win 7, Python 2.7

[python] view plain
from time import sleep, time
import gc

def mem(way=1):
print time()
for i in range(10000000):
if way == 1:
pass
else: # way 2, 3
del i

print time()
if way == 1 or way == 2:
pass
else: # way 3
gc.collect()
print time()

if __name__ == "__main__":
print "Test way 1: just pass"
mem(way=1)
sleep(20)
print "Test way 2: just del"
mem(way=2)
sleep(20)
print "Test way 3: del, and then gc.collect()"
mem(way=3)
sleep(20)

运行结果如下:

[plain] view plain
Test way 1: just pass
1426688589.47
1426688590.25
1426688590.25
Test way 2: just del
1426688610.25
1426688611.05
1426688611.05
Test way 3: del, and then gc.collect()
1426688631.05
1426688631.85
1426688631.95

对于way 1和way 2,结果是完全一样的,程序内存消耗峰值是326772KB,在sleep 20秒时,内存实时消耗是244820KB;
对于way 3,程序内存消耗峰值同上,但是sleep时内存实时消耗就只有6336KB了。

实验环境二: Ubuntu 14.10, Python 2.7.3

运行结果:

[plain] view plain
Test way 1: just pass
1426689577.46
1426689579.41
1426689579.41
Test way 2: just del
1426689599.43
1426689601.1
1426689601.1
Test way 3: del, and then gc.collect()
1426689621.12
1426689622.8
1426689623.11

[plain] view plain
ubuntu@my_machine:~$ ps -aux | grep test_mem
Warning: bad ps syntax, perhaps a bogus '-'? See
ubuntu 9122 10.0 6.0 270916 245564 pts/1 S+ 14:39 0:03 python test_mem.py
ubuntu 9134 0.0 0.0 8104 924 pts/2 S+ 14:40 0:00 grep --color=auto test_mem
ubuntu@my_machine:~$ ps -aux | grep test_mem
Warning: bad ps syntax, perhaps a bogus '-'? See
ubuntu 9122 10.0 6.0 270916 245564 pts/1 S+ 14:39 0:03 python test_mem.py
ubuntu 9134 0.0 0.0 8104 924 pts/2 S+ 14:40 0:00 grep --color=auto test_mem
ubuntu@my_machine:~$ ps -aux | grep test_mem
Warning: bad ps syntax, perhaps a bogus '-'? See
ubuntu 9122 11.6 0.1 30956 5608 pts/1 S+ 14:39 0:05 python test_mem.py

结论:
以上说明,当调用del时,其实Python并不会真正release内存,而是将其继续放在其内存池中;只有在显式调用gc.collect()时,才会真正release内存。

进一步:
其实回到上一篇博客的脚本中,也让其引入gc.collect(),然后写个监控脚本监测内存消耗情况:

[plain] view plain
while ((1)); do ps -aux | sort -n -k5,6 | grep my_script; free; sleep 5; done

结果发现:内存并不会在每500个用户一组执行完后恢复,而是一直持续消耗到仅存约70MB时,gc才好像起作用。本环境中,机器使用的是Cloud instance,总内存2G,可用内存约为1G,本脚本内存常用消耗是900M - 1G。换句话说,对于这个脚本来说,gc并没有立即起作用,而是在系统可用内存从1 - 1.2G下降到只剩70M左右时,gc才开始发挥作用。这点确实比较奇怪,不知道和该脚本是在Thread中使用的gc.collect()是否有关,或者是gc发挥作用原本就不是可控的。笔者尚未做相关实验,可能在下篇博客中继续探讨。

但是,可以肯定的是,若不使用gc.collect(), 原脚本将会将系统内存耗尽而被杀死。这一点从syslog中可以明显看出。

4. 如何用python格式化磁盘,不是format()的格式化,是磁盘

想做操作系统?真有耐心,点赞!
格式化的话要看你是C盘以外的还是C盘

C盘只有重装系统才可以清空
可移动磁盘获取所有东东,再循环删除
其他磁盘同理,如果要不能恢复就比较困难,可以扔进去一些别的软件,程序控制操作就行了,不过要选择一个后台或者是一些类似于dll文件好像可以
用Python做操作系统真的很难(几乎不可能)
操作系统必须要能够保持一定的稳定性和一些别的东东,很可能最后绕了一圈又要依赖windows,那就尴尬了

5. python 中的out of memory是怎么回事,内存不够吗

这不是你电脑内存大小的问题,
编程中,如果在一个域中输入的数据超过了它的要求就会引发数据溢出问题。
缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里。一旦该容器放满了,余下的部分就溢出在柜台和地板上,弄得一团糟。由于计算机程序的编写者写了一些编码,但是这些编码没有对目的区域或缓冲区——五磅的容器——做适当的检查,看它们是否够大,能否完全装入新的内容——十磅的糖,结果可能造成缓冲区溢出的产生。如果打算被放进新地方的数据不适合,溢得到处都是,该数据也会制造很多麻烦。但是,如果缓冲区仅仅溢出,这只是一个问题。到此时为止,它还没有破坏性。当糖溢出时,柜台被盖住。可以把糖擦掉或用吸尘器吸走,还柜台本来面貌。与之相对的是,当缓冲区溢出时,过剩的信息覆盖的是计算机内存中以前的内容。除非这些被覆盖的内容被保存或能够恢复,否则就会永远丢失。

具体你可以看下边的资料。

6. 用Python 做策略回测,耗时很长,有什么加速办法

不是,这里测不出真的网速,应该用电脑管家测。不过我觉得是系统问题。在给你推荐一种方法,可以提高20的宽带。一、每天关机前清洗 1、双击“我的电脑” 2、右键点C盘 3、点“属性” 4、点“磁盘清理” 5、点“确定” 6、再点“是” 7、再点“确定”。 8、清理过程中,您可看得到未经您许可(您可点“查看文件”看,就知道了)进来的“临时文件”被清除了,盘的空间多了。对D,E,F盘也用此法进行。 二、随时进行清理 1、打开网页 2、点最上面一排里的“工具” 3、点“Internet选项” 4、再点中间的“Internet临时文件”中的“删除文件” 5、再在“删除所有脱机内容”前的方框里打上勾 6、再点“确定” 7、清完后又点“确定”。 8、这样,可为打开网页和空间提速 三、一星期进行所有盘的垃圾清理 1、点“开始” 2、用鼠标指着“所有程序” 3、再指着“附件”, 4、再指着“系统工具” 5、点“磁盘粹片整理程序” 6、点C盘,再点“碎片整理”(这需要很长时间,最好在您去吃饭和没用电脑时进行。清理中您可看到您的盘里的状况,可将清理前后对比一下) 7、在跳出“清理完成”后点“关闭”。 8、按上述方法,对D,E,F盘分别进行清理。 四、给宽带加速,一分钟学会释放电脑保留的20%宽带资源。 1、单击“开始——运行”,输入gpedit.msc回车后即可打开“组策略对象编辑器”。 2、“计算机配置——管理模板——网络——QoS数据包计划程序”,双击右面设置栏中的“限制可保留带宽”,在打开的属性对话框中的“设置”选项卡中将“限制可保留带宽”设置为“已启用”,然后在下面的“带宽限制(%)”栏将带宽值“20”设置为“0”即可。 3、修改完之后,我们可重新打开IE浏览器或者用BT或迅雷下载文件,发现上网和下载的速度明显提升。此项修改对XP和VISTA均有效。

7. python的回收机制是什么

Python中的垃圾回收机制总体上有三种,

引用计数

Python语言默认采用的垃圾收集机制是‘引用计数法 Reference Counting’,该算法最早George E. Collins在1960的时候首次提出,50年后的今天,该算法依然被很多编程语言使用,‘引用计数法’的原理是:每个对象维护一个ob_ref字段,用来记录该对象当前被引用的次数,每当新的引用指向该对象时,它的引用计数ob_ref加1,每当该对象的引用失效时计数ob_ref减1,一旦对象的引用计数为0,该对象立即被回收,对象占用的内存空间将被释放。它的缺点是需要额外的空间维护引用计数,这个问题是其次的,不过最主要的问题是它不能解决对象的“循环引用”,因此,也有很多语言比如Java并没有采用该算法做来垃圾的收集机制。

在上图中,我们把小黑圈视为全局变量,也就是把它作为root object,从小黑圈出发,对象1可直达,那么它将被标记,对象2、3可间接到达也会被标记,而4和5不可达,那么1、2、3就是活动对象,4和5是非活动对象会被GC回收。

标记清除算法作为Python的辅助垃圾收集技术主要处理的是一些容器对象,比如list、dict、tuple,instance等,因为对于字符串、数值对象是不可能造成循环引用问题。Python使用一个双向链表将这些容器对象组织起来。不过,这种简单粗暴的标记清除算法也有明显的缺点:清除非活动的对象前它必须顺序扫描整个堆内存,哪怕只剩下小部分活动对象也要扫描所有对象。

分代回收

分代回收是一种以空间换时间的操作方式,Python将内存根据对象的存活时间划分为不同的集合,每个集合称为一个代,Python将内存分为了3“代”,分别为年轻代(第0代)、中年代(第1代)、老年代(第2代),他们对应的是3个链表,它们的垃圾收集频率与对象的存活时间的增大而减小。新创建的对象都会分配在年轻代,年轻代链表的总数达到上限时,Python垃圾收集机制就会被触发,把那些可以被回收的对象回收掉,而那些不会回收的对象就会被移到中年代去,依此类推,老年代中的对象是存活时间最久的对象,甚至是存活于整个系统的生命周期内。同时,分代回收是建立在标记清除技术基础之上。分代回收同样作为Python的辅助垃圾收集技术处理那些容器对象。

Python垃圾回收机制--完美讲解! 东皇Amrzs

Python中的垃圾回收机制

8. python调用。 Traceback (most recent call last):

关闭程序,然后从新启动phython。

9. 电脑技术

第一招:关闭多余程序如果同时打开的文档过多或者运行的程序过多,就没有足够的内存运行其他程序。这时,对于多文档界面程序,如Word、Excel等,请关闭当前文档外的所有文档,并退出当前未使用的程序,或许你就能够继续执行因“内存不足”而被中断的任务。

第二招:清除剪贴板中的内容1.清除系统剪贴板中的内容(存储Windows复制或剪贴内容的剪贴板)点击“开始→程序→附件→系统工具→剪贴板查看程序”,在“编辑”菜单上,单击“删除”命令,系统弹出“清除剪贴板”对话框,单击“是”按钮。2.清除多重剪贴板中的内容(Office程序提供的剪贴板)在“Office剪贴板”任务窗格(OfficeXP)或工具栏(Office2000)上,单击“全部清空”或“清空‘剪贴板’”。当清空“Office剪贴板”时,系统剪贴板也将同时被清空。

第三招:合理设置虚拟内存如果没有设置Windows虚拟内存,那么很容易收到“内存不足”的消息。点击“开始→设置→控制面板”,双击“系统”。在“系统属性”对话框中,单击“性能”选项卡,然后单击“虚拟内存”按钮。选中“让Windows管理虚拟内存设置-(推荐)”选项,将计算机中可作为虚拟内存使用的硬盘空间量设置为默认值。

第四招:增加可用磁盘空间有四种方法可以增加磁盘的使用空间:1.清空回收站。2.删除临时文件。打开%20“我的电脑”,右键单击要释放其空间的磁盘,然后单击“属性”,在“常规”选项卡上,单击“磁盘清理”按钮,选中要删除的不需要的文件前的复选框进行整理。3.从磁盘中删除过期的文件或已存档的文件。4.删除从未使用过的所有文件。

第五招:重新安装已损坏的程序如果仅仅是使用某个程序时,系统提示内存不足,而其他程序可以正常运行,那么可能的原因是该程序文件被毁坏,从而导致内存不足的问题。请尝试删除并重新安装该程序,然后重新运行该程序。如果系统不再提示内存不足,那么说明原程序文件确实被损坏。

第六招:使用内存优化软件内存优化软件有很多,比如RAM%20Idle和Memo%20Kit就比较出色。它们可以设置自动清空剪贴板、释放被关闭程序未释放的内存,从而免除你手工操作的麻烦,达到自动释放内存的目的,不妨一试。

第七招:重新启动计算机如果只退出程序,并不重新启动计算机,程序可能无法将内存资源归还给系统。在运行重要程序之前,请重新启动计算机以充分释放系统资源。

第八招:减少自动运行的程序如果在启动Windows时自动运行的程序太多,那么,即使重新启动计算机,也没足够的内存用来运行其他程序。这时就需要清除一些不必要的系统自启动程序。
点击“开始→运行”,输入msconfig,打开“系统配置实用程序”窗口。单击“一般”选项卡,选中“选择性启动”复选框。去掉%20“处理Win.ini文件”和“加载启动项”前的复选框。打开“启动”选项卡,将不需要开机自动启动的程序都勾除掉就好了。

第九招:查杀病毒系统感染电脑病毒也是导致内存不足的罪魁祸首。当系统出现“内存不足”的错误时,请使用最新的杀毒软件查杀病毒,或许在清除电脑病毒之后,就解决了“内存不足”的问题。

解决“内存不足”的办法9则
一、剪贴板占用了太多的内存
实际上,剪贴板是内存中的一块临时区域,当你在程序中使用了“复制”或“剪切”命令后,Windows将把复制或剪切的内容及其格式等信息暂时存储在剪贴板上,以供“粘贴”使用。如果当前剪贴板中存放的是一幅图画,则剪贴板就占用了不少的内存。这时,请按下述步骤清除剪贴板中的内容,释放其占用的内存资源:
1.单击“开始”,指向“程序”或“所有程序”,指向“附件”,指向“系统工具”,然后单击“剪贴板查看程序”,打开“剪贴板查看程序”窗口。2.在“编辑”菜单上,单击“删除”命令。3.关闭“剪贴板查看程序”窗口。
为了与Microsoft Office程序提供的多重剪贴板相区分,上述所说的剪贴板,常被我们称为系统剪贴板。如果你正在使用Micros OftOffice程序,而且使用了其多重剪贴板功能,那么你应清空“Office剪贴板”上的项目,方法是:在“Office剪贴板”任务窗格(OfficeXP)或工具栏(Office2000)上,单击“全部清空”或“清空‘剪贴板’”。当清空“Office剪贴板”时,系统剪贴板也将同时被清空
二、打开的程序太多
如果同时打开的文档过多或者运行的程序过多,就没有足够的内存运行其他程序。这时,对于多文档界面(MDl)程序,如Word、Excel等,请关闭当前文档外的所有文档,并退出当前未使用的程序,然后或许你就能够继续执行因“内存不足”而被中断的任务。
三、重新启动计算机
如果只退出程序,并不重新启动计算机,程序可能无法将内存资源归还给系统。请重新启动计算机以释放系统资源,然后再次运行程序或执行被中断的任务。
四、自动运行的程序太多
如果在启动Windows时自动运行的程序太多,那么,即使重新启动计算机,也没足够的内存用来运行其它程序。
(一)确定设置为自动运行的程序是否太多
1.单击“开始”,然后单击“运行”。
2.在“打开”框中,键入“Msconfig”,单击“确定”按钮,打开“系统配置实用程序”窗口。
3.单击“常规”选项卡,选中“选择性启动”复选钮,清除“处理Win.ini文件”复选框和“加载启动组项目”复选框。
4.单击“确定”按钮,当系统提示重新启动计算机时,请单击“是”按钮。
重新启动电脑后,如果内存不足的问题已经解决,你就可以将计算机配置为启动时不打开任何程序。
(二)配置计算机不自动打开任何程序
1.恢复在Msconfig中所作的更改,方法是:在“系统配置实用程序”窗口,单击“常规”选项卡,选择“正常启动”,单击“确定”按钮,然后重新启动计算机。
2.删除“启动”文件夹中的所有快捷方式
①单击“开始”,指向“设置”,然后单击“任务栏和开始菜单”,系统弹出“任务栏属性”对话框。
②单击“开始菜单程序”选项卡,单击“删除”按钮。
③单击“启动”文件夹旁的加号,以显示设置为自动运行的程序列表。如果“启动”文件夹旁没有加号“+”,则表明没有设置为自动运行的程序,请单击“关闭”按钮以终止此过程。
④单击“启动”文件夹中的每个快捷方式,然后单击“删除”按钮。此操作将从“开始”菜单中删除快捷方式,但并不从硬盘中删除相应的程序。对于“启动”文件夹中的每个快捷方式,重复该步骤。
⑤单击“关闭”按钮。
⑥单击“确定”按钮。
3.禁用从Win.ini文件加载的所有程序
①如上所述打开“系统配置实用程序”窗口。
②单击“Win.ini”选项卡,双击“[windows]”,然后清除“Load=”和“Run=”复选框。
③单击“确定”按钮,当系统提示重新启动计算机时,请单击“是”按钮。
五、让Windows管理虚拟内存设置
如果没有设置让Windows管理虚拟内存或者禁用虚拟内存,那么计算机可能无法正常工作,也可能收到“内存不足”的消息,或在运行某程序时出现相同的错误消息。
1.单击“开始”,单击“设置”,单击“控制面板”,然后双击“系统”。
2.在“系统属性”对话框中,单击“性能”选项卡,然后单击“虚拟内存”按钮。
3.选中“让Windows管理虚拟内存设置—(推荐)”选项,将计算机中可作为虚拟内存使用的硬盘空间量设置为默认值。此时,虚拟内存分页“win386.swp”能够根据实际内存的使用情况动态缩小和放大,最小容量为0,最大容量为硬盘的全部可用空间。
4.单击“确定”按钮。
六、增加可用磁盘空间
由于Windows以虚拟内存分页文件的格式使用硬盘空间以模拟RAM(),所以,尽管已设置为让Windows管理虚拟内存,但是当虚拟内存分页文件所在的驱动器(默认为Windows系统所在的硬盘分区)没有足够的空间时,仍会出现“内存不足”的错误。此时,请执行以下一项或多项操作,增加Windows虚拟内存分页文件所在驱动器上的可用空间:
1.清空回收站,方法是:在桌面上,右键单击“回收站”,再单击“清空回收站”。
2.从磁盘中删除临时文件,方法是:打开“Windows资源管理器”或“我的电脑”窗口,右键单击要释放其空间的磁盘,然后单击“属性”,在“常规”选项卡上,单击“磁盘清理”按钮,选中要删除的不需要的文件前的复选框(如图3),可以阅读列表下面区域中每个文件类型的说明,单击“确定”按钮。
3.从磁盘中删除过期的文件或已存档的文件。
4.删除从未使用过的所有文件。
七、程序文件被毁坏
如果仅仅是使用某个程序时,系统提示内存不足,而其他程序可以正常运行,那么可能的原因是该程序文件被毁坏,从而导致内存问题。然而Windows并没有确切地提示表明该程序已损坏,所以请尝试删除并重新安装该程序,然后重新运行该程序。如果系统不再提示内存不足,那么说明原程序文件确实被损坏。
八、使用内存优化软件
内存优化软件有很多,比如RAM Idle和Memo Kit就是比较出色的两个。这些软件都可以设置自动清空剪贴板、释放被关闭程序未释放的内存、对Win386.swp文件进行重新组织等,从而免除你手工操作的麻烦,达到自动释放内存的目的,不妨一试!
九、查杀病毒
系统感染电脑病毒也是导致内存不足的罪魁祸首,当系统出现“内存不足”的错误时,请使用最新的防毒软件查杀病毒,或者在清除电脑病毒之后,就解决了“内存不足”的问题。

Windows本身是内存消耗大户,会占用大量的系统资源,如果物理内存不多,经常会因为占用物理内存过多导致提示内存不足。但有时,Windows中的内存不足提示并不一定能准确反映出导致问题的原因。一般来说,Windows系统会在以下几种情况下提示“内存不足”:
第一,用Windows附带的记事本程序拷贝一些网络上的信息,准备汇总后编辑——但是当粘贴了几次后,经常会跳出一个对话框,说“内存不足,***文件无法被保存”。这一提示容易让人误认为是内存出了问题,如果按此提示去查找原因,费时费力也解决不了问题。其实这是记事本程序本身的功能限制和设计的问题,超过64K字节的内容就不能再编辑了。
第二,在浏览网页的时候经常跳出“内存不足”的提示。由于Windows没有详细描述内存、虚拟内存和临时文件缓冲区的不同,所以经常使人误以为是物理内存出现问题。其实在很多时候,这是由于IE属性设置中分配给internet临时文件的磁盘空间的大小不够造成,从而导致脱机浏览的内容无法被保存。要解决这一问题,只要在IE的右键菜单中选择属性,单击“设置”按钮,将Internet临时文件夹中的“使用的磁盘空间”调大一些即可。
第三,在某些情况下, P4机器上安装了主板驱动和其他驱动程序后再安装office2000,在使用office2000时也有一定几率会提示内存不足。这是由于P4主板驱动和office2000存在一些兼容性问题,可以尝试备份数据后重新安装操作系统,然后先安装office2000,再安装主板驱动等其他驱动程序,便可以较好的解决该问题。
第四,很常见的导致“内存不足”提示的原因是因为感染病毒。由于病毒在内存中大量复制,所以造成报错提示。一般杀毒后即可解决该问题。

阅读全文

与python清理磁盘空间相关的资料

热点内容
javastring字符位置 浏览:196
银河麒麟字体库存在哪个文件夹 浏览:956
魔兽加丁服务器的航空叫什么 浏览:152
花冠改装案例哪个app多 浏览:515
成绩单app哪个好用 浏览:140
北美程序员vs国内程序员 浏览:181
php解析xml文档 浏览:121
石墨文档APP怎么横屏 浏览:185
墙主钢筋加密和非加密怎么看 浏览:144
金山区文件夹封套定制 浏览:708
soho程序员 浏览:672
java字节截取 浏览:525
php提交作业 浏览:815
房产还没解压可以办理赠予吗 浏览:224
java毫秒转分钟 浏览:753
模式识别中文pdf 浏览:774
c语言平均数字编译错误 浏览:171
单片机算交流 浏览:45
php自适应网站 浏览:467
2b2t服务器怎么获得权限 浏览:816