我已经使用了两个分析工具(Solaris上的VTune和Solaris上的dbx(在sunstudio中)),它可以在不重建它们的情况下对程序进行分析,在分析过程中,程序只能以与正常相同的速度运行.这两个功能都为我节省了很多时间.
现在我想知道Linux平台上是否有一些免费工具可以做同样的事情.我想我需要基于抽样的分析工具.VTune很好但价格昂贵......我听说过gprof和valgrind.但似乎gprof需要对程序进行检测(因此我们必须重建程序)并且valgrind将会大大减慢程序执行速度.(来自valgrind的介绍,Cachegrind运行程序比正常情况慢20到100倍,而我需要分析的Callgrind基于Cachegrind)
对于分析,我只需要弄清楚函数调用的执行时间,这样我就可以找出性能下降的位置.实际上我不需要很多低级分析信息,因为Cachegrind提供了......
我正在写一个备份脚本
之前我曾经sleep(60)等待一分钟,以便内核自动刷新数据.我认为这是矫枉过正,所以现在我正在尝试,sudo hdparm -F --verbose /dev/disk但它报告错误 - HDIO_DRIVE_CMD(flushcache) failed: Invalid exchange多次.
我想知道是否有任何标准方法将缓存刷新到硬盘.我认为有,因为usb-creator-gtk它,umount它做到了.
我正在使用Ubuntu x64 9.10
PS:我试图避免"同步",因为这个页面说,这是不是安全的.http://ubuntuforums.org/showthread.php?t=589975
我见过一些代码,他们只是这样做:
$().ready(function()
{
...
});
Run Code Online (Sandbox Code Playgroud)
这比做文档选择器短但是它是一样的吗?
感谢帮助我设置我的cron工作,crontab对我来说真的是一个金矿.
不幸的是,我有一个问题,并且不知道它可能是什么......基本上,当邻居工作时,工作没有开始.我会解释一下
这是我的crontabs工作清单:
*/10****python /webapps/foo/manage.py fetch_articles
*/10****python /webapps/bar/manage.py fetch_books
我将它们写在文件中并使用crontab/path/to/file存储它们.
检查crontab -l并且工作在那里.
奇怪的是,其中一个通常每10分钟执行一次......但另一个则没有.我尝试手动输入命令,它没有问题.
有没有人有建议?
非常感谢帮助,谢谢你们.
更新:
我一直在系统日志文件中,我发现了这个:
3月5日02:50:01 localhost CRON [21652] :( root)CMD(python /webapps/foo/manage.py fetch_books)
这是否意味着crontab正在调用这项工作?
谢谢你的回复!
固定它!非常感谢大家!
问题是脚本默默地失败,我相信这是由于PYTHON_PATH因脚本调用的位置而发生变化...我完全确定.
背景: Trevor正在尝试一个测试项目,仅仅是为了尝试git.这是一个尚未共享的本地单人存储库,因此Trevor为了消除一些不需要的提交而进行了重置:
:git reset --hard 6aa32cfecf4
HEAD is now at 6aa32cf auto commit Sun Feb 28 16:00:10 -0800 2010
Run Code Online (Sandbox Code Playgroud)
然后Trevor愉快地为该项目添加了新的提交.然后,当Trevor查看提交历史的图形表示时,Trevor发现似乎存在被删除提交的匿名分支.它不会显示为使用git分支的分支,但它确实显示在GUI中.
问题1: Trevor如何摆脱这个"匿名分支"...... Trevor真正关注的是什么?有什么指示可以帮助Trevor了解当Trevor进行硬重置时发生的事情,这样Trevor可以更好地设定Trevor的期望.
问题2:假设特雷弗曾与其他人共享的项目.在不进行硬重置的情况下,做同样(或类似的事情)的替代方案是什么?
我从php.net站点有以下函数来确定ASCII和UTF-8字符串中的字节数:
<?php
/**
* Count the number of bytes of a given string.
* Input string is expected to be ASCII or UTF-8 encoded.
* Warning: the function doesn't return the number of chars
* in the string, but the number of bytes.
*
* @param string $str The string to compute number of bytes
*
* @return The length in bytes of the given string.
*/
function strBytes($str)
{
// STRINGS ARE EXPECTED TO BE IN ASCII OR UTF-8 …Run Code Online (Sandbox Code Playgroud) 我有一个文本框,当用户选中文本框(onBlur事件)时,我需要验证其值(如果textbox的值为50,则在lblShowMsg中显示消息).我似乎无法正确使用语法.
我在pageload事件中有这个代码:
protected void Page_Load(object sender, EventArgs e)
{
txtCategory.Attributes.Add("onblur", "validate()");
}
Run Code Online (Sandbox Code Playgroud)
但我似乎无法得到正确的JavaScript代码.有什么建议?
有没有办法,从gcj编译的Java程序中找出用户运行以启动程序的可执行文件的名称?
在C中,argv [0](来自main内部)是名称,但在Java中,赋予main的args数组仅包含主类的参数.使用普通的java命令行运行时,这是有道理的,因为可执行文件始终是java(或java.exe).
但是,在运行由gcj编译的Java程序时,用户运行的可执行文件的名称可能是有用的信息.理想情况下,我想找到这个名称,而不是诉诸平台特定的方法,如阅读/ proc(以及任何与Windows相同的方法),但也许这是不可能的.
我有一个应用程序,其中包含一个包含几个tableviews的scrollview.每个tableview都从另一个viewcontroller加载.它是从Apple的PageControl示例应用程序构建的.我的目标是让它像Apple的天气应用程序一样工作.
我做的一切都很好.所有内容都完美加载,并且左右滚动显示所有正确的tableviews及其相关数据.我有一个按钮,当点击它时,它会打开另一个视图,允许您编辑每个项目,就像天气应用程序一样,您可以添加新城市,删除它或移动它.
我遇到的问题是当用户完成项目编辑后如何更新滚动视图.想象一下,PageControl应用程序能够删除第5页或将第4页移动到位置#1等.
我没有粘贴任何代码,因为:1)它与PageControl应用程序中的代码相同; 2)我还没弄明白从哪里开始.希望有人在这里可以帮助我.
谢谢.
更新:(2010年3月5日美国东部时间上午3:18)
好的,所以我一直在研究这个问题.我能够在mainView中调用一个方法来更新scrollView.代码似乎有点笨重,但它的工作原理!我真的不喜欢这些代码,因为我最终使用了一次属性,我无法重新设置它,因为我收到了错误objc[10801]: FREED(id): message release sent to freed object=0x3f4a490.对我来说,似乎对象已被释放?如果是这样,我不知道如何,因为我只是在发布它dealloc.dealloc从来没有打电话(我NSLog去检查)所以我不知道发生了什么.
代码:初始代码与Apple的PageControl示例应用程序中的代码相同:
- (void)viewDidLoad {
[super viewDidLoad];
appDel = (iBarryAppDelegate *)[[UIApplication sharedApplication] delegate];
managedObjectContext = appDel.managedObjectContext;
NSMutableArray *controllers = [[NSMutableArray alloc] init];
for (unsigned i = 0; i < numberOfPages; i++)
{
[controllers addObject:[NSNull null]];
}
self.viewControllers = controllers;
[controllers release];
scrollView.pagingEnabled = YES;
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * numberOfPages, scrollView.frame.size.height);
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.showsVerticalScrollIndicator …Run Code Online (Sandbox Code Playgroud)